void pointer in C

When we declare a pointer we specify its type which will be same as the type of the variable whose address the pointer will contain. For example if we will declare an integer pointer then it can contain the address of an integer variable only. Take below example.

What if we can have a pointer that can point to any type of variable? This can be done easily using void pointer.

void pointer in C

void pointer is a pointer which is not associated with any data type. It can contain the address of variable of any data type. void pointer is also known as general purpose pointer. We can declare a void pointer in C using void keyword as shown below.


The dereference operator or indirection operator (*) is used for dereferencing a pointer. Dereferencing means accessing the value at the address stored in pointer variable. We have to type caste the pointer variable to dereference it because the void pointer is not associated with any data type. The compiler is unable to find the type of variable pointed by the void pointer. This can be done in following way.

We can’t perform the pointer arithmetic on void pointer. Take below example.


Lets make one program to understand the concept of void pointer in C.


Output

void pointer in C

This is all about void pointer in C. If you find any mistake or information missing in above tutorial then please mention in the comments.

One thought on “void pointer in C

Leave a Reply

Your email address will not be published. Required fields are marked *