&arr
is a pointer to an array of 100 int
s.
The [1]
means “add the size of the thing that is pointed to”, which is an array of 100 int
s.
So the difference between (&arr)[1]
and arr
is 100 int
s.
(Note that this trick will only work in places where sizeof
would have worked anyway.)