What are the advantages of using pointers in C?

Pointers are special variables which store address of some other variables.

Syntax: datatype *ptr;

Here * indicates that ptr is a pointer variable which represents value stored at a particular address.

Example: int *p;

ā€˜pā€™ is a pointer variable pointing to address location where an integer type is stored.


  1. Pointers allow us to pass values to functions using call by reference. This is useful when large

sized arrays are passed as arguments to functions. A function can return more than one value by using call by reference.

  1. Dynamic allocation of memory is possible with the help of pointers.

  2. We can resize data structures. For instance, if an arrayā€™s memory is fixed, it cannot be resized.

But in case of an array whose memory is created out of malloc can be resized.

  1. Pointers point to physical memory and allow quicker access to data.