What are Pointers in C
It is a variable which is used to store the address of another variable.

Advantages of pointer
- Return multiple values from function
- Access any memory location
- Improves the performance
- Reduces the code
- Used for dynamic memory allocation
- Used in arrays, functions and structures
Symbol |
Name |
Description |
& |
address of operator |
Determines the address of a variable. |
* |
indirection operator |
Accesses the value at the address. |
Example
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int n=50;
int *p; //declaration of pointer
p=&n; //stores the address of number variable
printf("Address of n variable is %x \n",&n);
printf("Address of p variable is %x \n",p);
printf("Value of p variable is %d \n",*p);
getch();
}
Output
Address of n variable is fff4
Address of p variable is fff4
Value of p variable is 50

Master File Handling in C with our comprehensive tutorial!
Dynamic memory allocation in C
Dynamic memory allocation means to allocate the memory at run time. Dynamic memory allocation is possible by 4 functions of stdlib.h header file.
- malloc()
- calloc()
- realloc()
- free()
malloc() |
Allocates single block of requested memory. |
calloc() |
Allocates multiple block of requested memory. |
realloc() |
Reallocates the memory occupied by malloc() or calloc() functions. |
free() |
Frees the dynamically allocated memory. |