Program:
#include
int main(void) {
int x[4];
printf(\"%p\\n\", x);
printf(\"%p\\n\", x + 1);
printf(\"%p\\n\", &x);
p
An easy thumbrule to evaluate this is:
Any pointer on increment points to the next memory location of its base type.
The base type of &x here is int (*p)[4] which is a pointer to array of 4 integers.
So the next pointer of this type will point to 16 bytes away (assuming int to be 4 bytes) from the original array.