#include int main() { int magic = 9999; (void)magic; int arr[] = { 1234, 5678 }; int *x = &(arr[0]); // x is a pointer to first element of arr printf("*x=%d\n", *x); unsigned long x_addr = (size_t) x; // we're going to assume size_t = unsigned long here x_addr += 4; // sizeof(int) == 4 x = (int *) x_addr; printf("*x=%d\n", *x); x_addr += 4; x = (int *) x_addr; printf("*x=%d\n", *x); return 0; }