Types Of Pointers In C++

C is a widely used programming language that allows for the creation of software applications. In this article, we will be looking at pointers – a type of data that allows programs to access specific memory addresses. We will also look at how to create and use pointers in C.

What is a pointer?

Pointers are a data type used in programming languages to point to a specific location in a memory. They are also used extensively in graphical user interfaces and other areas of computer programming. In C, pointers are identified by the %p format specifier.

What are the different types of pointers?

Pointers are a special type of data that allow a program to access specific information in memory without having to explicitly search for it. Pointers can be used to refer to any piece of data, including other pointers.
There are three main types of pointers: static, automatic, and direct.

Static pointers are created by the compiler and can be used only within the same function or procedure. Automatic pointers are automatically created when an instance of a type is created and are automatically destroyed when the instance is destroyed. Direct pointers are created by the user and can be used anywhere in memory.

Each type of pointer has its own advantages and disadvantages. Static pointers are usually more efficient because they don’t require the system to keep track of their location in memory. Automatic pointers are less efficient because they require the system to create and destroy them as needed. Direct pointers can be more efficient if they’re used sparingly because they don’t require the system to create or destroy them.

Dangling, Void , Null and Wild Pointers

A dangling pointer is a pointer that is no longer valid,

for example because it has been deallocated. A void pointer is a pointer that can only point to the null character of an input string. A null pointer is a pointer that points to an invalid address. A wild pointer is a pointer that can point to any valid address.

How to use pointers?

Pointers are a type of data structure in C used to point to a specific location in a memory. They are also used as the base class for many other data structures, like arrays and structures. Pointers can be either static or dynamic, and they can be initialized with any value. They can be used to access the elements at any given location in an array or structure.


As C programmers, we are constantly switching between pointers and arrays. In this article, I will try to explain the difference between these two types of data structures and give you a few tips on how to use them correctly. Having good pointer usage can make your code easier to read and understand,

which is always a good thing!