Pointer is a special kind of variable used to store address of memory location through which indirect memory accessing can be performed.
When variables are declared memory is allocated to each variable. C provides data manipulation with addresses of variables therefore execution time is reduced. Such concept is possible with special data type called pointer. A pointer is a variable which holds the address of another variable or identifier this allows indirect access of data.
We know that memory is a collection of bits, in which eight-bits constitute one byte. Each byte has its own unique location number called its “address”. To store this address we need a special kind of variable called “pointer variable”.
To work with pointers we have two unary operators
1. Reference operator(&)
2. De-reference operator(*)
The ‘&’ and ‘*’ operators work together for referencing and de-referencing.