Use the array [*]:
int a[2];
int sizeof_int = (char*)(a+1) - (char*)(a);
Actually, because of the note in the section on pointer arithmetic, you do not even need an array, because for the purpose of pointer arithmetic, an object behaves like an array of size 1 and the pointer outside the end is legal for the array:
int a;
int sizeof_int = (char*)((&a)+1) - (char*)(&a);
[*] By this I mean that "solving a puzzle is using an array." Do not actually use an array, use sizeof!