Pointers and Pointer Operations

A pointer is just a variable which stores an address. Besides holding an address rather than data (arguably, an address is data of a sort) pointers differ from other variables in that they point to data of a specific type. The size of a pointer is determined by the operating system and the C compiler. All pointers in any given OS are the same size. The operations you can perform on a pointer are restricted to five:
Caution: C does not keep track of whether a pointer points to memory containing the data type that the pointer is supposed to point to. Also, C does not require that a pointer be set to point to a real memory address. This is your responsibility as the programmer. A runaway pointer is a dangerous thing. In some operating systems you can get protection faults. In other operating systems you could trash the operating system itself.
When used properly and carefully, pointers can be used to do powerful things in C. When used carelessly, pointers can cause problems that take a long time to find and correct.