In said:
If I declare a pointer to an integer like this
int *intPtr;
what would &intPtr return?
Exactly the same thing as in:
int myint;
where &myint yields the "address" of the variable myint. &intPtr yields
the "address" of the variable intPtr.
Pointers are trickier to the beginner because they have two associated
addresses: the address of the pointed-to object and the address of the
pointer itself. After
intPtr = &myint;
if intPtr is stored at address 0xf00 and myint is stored at address 0xdad
evaluating intPtr will yield 0xdad (represented as a pointer value, not
as an integer value), while &intPtr will yield 0xf00 (again, as a pointer
value).
Making a diagram with pencil and paper might help...
Dan