Note that, when you define a pointer variable in your program, the C compiler allocates only the small amount of memory required to hold an address. Then, later on, you can arrange for that address to be the address of a chunk of memory that is allocated for an object at run time.