Pointer is a derived datatype in C and pointer variable is a special variable that holds the memory address or location of another variable(i.e. it point to another variable). Referencing a value through a pointer is called indirection or dereferencing . Declaration of pointer variable:- A pointer variable is declared with an (*) operator before the variable name and is known as pointer or indirection or dereference operator. Syntax:- data-type *pointer_variable_name; e.g:- int *ptr; Initialization:- Every pointer variable contain garbage value before assignment of some valid address. So, pointer variable must be assigned with '0' or some valid address. void main () { int a=10; int *ptr; ptr= &a; printf(" a= %d ",a); printf(" a=%d ",*ptr); } Output:- a=10 a=10 Below are some important C program using pointer:- > Call by Value and Call by reference > C program to input 'n'