Quote:
Storing a Variable's Address in a Pointer
Every variable has an address. Even without knowing the specific address, you can store a variable's address in a pointer.
Suppose, for example, that howOld is an integer. To declare a pointer called pAge to hold its address, you write
int *pAge = 0;
This declares pAge to be a pointer to an int. That is, pAge is declared to hold the address of an integer.
Note that pAge is a variable. When you declare an integer variable (type int), the compiler sets aside enough memory to hold an integer. When you declare a pointer variable such as pAge, the compiler sets aside enough memory to hold an address (on most computers, four bytes). A pointer, and thus pAge, is just a different type of variable.
As to the other, every program returns an exit code to the operating system, so your main must return an int.