Suppose you have a pointer, produced by something like
int a = 5;
int* pointer = &a;
And suppose you add 1 to the pointer, as in
pointer = pointer + 1;
Now suppose the original bitwise representation of the pointer was
00000000 00000000 00000000 00000000
Then is the new representation 00000000 00000000 00000000 00000001
? Or 00000000 00000000 00000001 00000000
? Or neither of those?
I am confused because I feel like adding 1 to a number should add 1 to its bitwise representation. But if you add 1 to the index of an array, the new address is 32 bits away from the old address.