1. (An easy one to start off)
char *abc[100];
Rewrite it with all parentheses explicitly shown:
char (*(abc[100]));
and read it from the inside out:
- abc is being declared,
- it is an array of 100 somethings,
- the somethings are pointers,
- they point to characters.
So abc is an array of 100 pointers to characters,
or
abc is an array of 100 string pointers, its the same thing.
A pointer usually requires 4 bytes, so (sizeof abc) is 400.