What is a pointer?

A pointer is a variable that contains the memory address of another variable, array, or string. When a pointer contains the address of something, it is said to be pointing at that thing. When a pointer points at something, it receives the right to access the content of that memory address. The question now is—why do we need pointers at all?

We need them because they do the following:

  • Facilitate the dynamic allocation of memory
  • Provide an alternative way to access a data type (apart from variable names, you can access the content of a variable through pointers)
  • Make it possible to return more than one value from a function

For example, consider an i integer variable:

int i;

When you define an integer variable, two bytes ...

Get Practical C Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.