Rules for reading declarations
1.Brackets take precedence
2.If you see ‘[]’ read to the write and add ‘array of’
3.Read to the left and if you see ‘*’ add ‘pointer to’ else add ‘of’ and put type name. Goto #1
4.
•int *p;  // pointer to int
•int a[N]; // array of ints
•int *ap[N]; // array of pointers to int
•int **pp; // pointer to pointer to int
•int **app[N]; // array of pointers to pointer to int
•int (*pa)[N]; // pointer to array of ints
•int *(*apap[N])[N]; // array of pointers to array of pointers to int  
•