Advantages of void pointer in C Language

Categories: C language

1. The malloc() and calloc() function return the void pointer, so these functions can be used to allocate the memory of any data type.

2. The void pointer in C can also be used to implement the generic functions in C.


Some important points related to void pointer are:

1. Dereferencing a void pointer in C

2. The void pointer in C cannot be dereferenced directly. Let's see the below example.


In the above code, *ptr is a void pointer which is pointing to the integer variable 'a'. As we already know that the void pointer cannot be dereferenced, so the above code will give the compile-time error because we are printing the value of the variable pointed by the pointer 'ptr' directly.

Now, we rewrite the above code to remove the error.

#include <stdio.h>  

int main()  

{  

   int a=90;  

   void *ptr;  

   ptr=&a;  

   printf("Value which is pointed by ptr pointer : %d",*(int*)ptr);  

    return 0;  

}  

In the above code, we typecast the void pointer to the integer pointer by using the statement given below:

(int*)ptr;

Then, we print the value of the variable which is pointed by the void pointer 'ptr' by using the statement given below:

*(int*)ptr;

Top Blogs
C Language Interview Question and Answers Published at:- Benefits of C language over other programming languages Published at:- History of C Language : Introduction to C Programming Language Published at:- How does C Programming Language Work Published at:- Importance of C Programming Language Published at:- C Character Set Published at:- Input and Output Functions in C Published at:- Introduction to Implementation of Queue using Linked List Published at:- Definition of C Language Published at:- History of C Language Published at:- Features of C Language Published at:- How to install C Language Published at:- Compilation process in c Published at:- printf() and scanf() in C Published at:- Variables in C Language Published at:- Types of Variables in C Language Published at:- Data Types in C Published at:- C Identifiers Published at:- C Operators in c Language Published at:- C Format Specifier in C Language Published at:- Escape Sequence in C Published at:- What is ASCII code? Published at:- Constants in C Published at:- Tokens in C language Published at:- Operators in C Language Published at:- C Boolean in C language Published at:- Boolean with Logical Operators in C language Published at:- Static in C Language Published at:- Difference in C language Term Published at:- Programming Errors in C Language Published at:- Compile time vs Runtime In C language Published at:- Differences Between Compile-Time and Runtime In C Language Published at:- Conditional Operator in C Language Published at:- Meaning of Bitwise Operator in C Language Published at:- What is the 2s complement in C Published at:- The C Language in the C Control Statement Published at:- C Switch Statement In C Language Published at:- Difference Between if-else and switch Published at:- C Loops of C Language Published at:- do while loop in C Published at:- while loop in C Language Published at:- Properties of while loop in C Language Published at:- for loop in C Language Published at:- Nested Loops in C Language Published at:- Nested Loops in C Language Published at:- C break statement in C Language Published at:- C continue statement in C Language Published at:- C goto statement in C Language Published at:- C Functions Published at:- Types of Functions in C Language Published at:- Call by value and Call by reference in C Language Published at:- Recursion in C Language Published at:- Recursive Function In C Language Published at:- Storage Classes in C Published at:- C Array in C Language Published at:- Two Dimensional Array in C Language Published at:- What is an Array in C Language Published at:- Passing Array to Function in C Published at:- C Pointers in C Language Published at:- C Double Pointer (Pointer to Pointer) Published at:- Pointer Arithmetic in C Language Published at:- C Double Pointer (Pointer to Pointer) in C Language Published at:- Pointer Arithmetic in C Language Published at:- Pointer to function in C Language Published at:- Dangling Pointers in C Language Published at:- sizeof() operator in C Language Published at:- const Pointer in C Language Published at:- Pointer to Constant In C Language Published at:- void pointer in C Language Published at:- Advantages of void pointer in C Language Published at:- C dereference pointer in C Language Published at:- What is a Null Pointer in C Language Published at:- C Function Pointer in C Language Published at:- Function pointer as argument in C Language Published at:- Dynamic memory allocation in C Language Published at:- C Strings In C Language Published at:- Traversing String in C Language Published at:- Accepting string as the input in C Language Published at:- Pointers with strings in C Language Published at:- C gets() and puts() functions in C Language Published at:- C String Functions in C Language Published at:- C Math in C Language Published at:- C Structure in C Language Published at:- What is Structure in C Language Published at:- typedef in C Language Published at:- C Array of Structures Published at:- Nested Structure in C Language Published at:- Types of Nested Structure in C Language Published at:- Passing structure to function in C Language Published at:- Structure Padding in C Language Published at:- Why structure padding in C Language Published at:- Changing order of the variables In C Language Published at:- Union in C Language Published at:- Deciding the size of the union in C Language Published at:- File Handling in C Language Published at:- C fprintf() and fscanf() in C Language Published at:- C fputc() and fgetc() in C Language Published at:- C fputs() and fgets() in C Language Published at:- C fseek() function in C Language Published at:- C rewind() function in Language Published at:- C ftell() function in C Language Published at:- C Preprocessor Directives in C Language Published at:- C Predefined Macros in C Language Published at:- C #include in C Language Published at:- C #define in C Language Published at:- C #undef in C Language Published at:- C #ifdef in C Language Published at:- C #ifndef in C Language Published at:- C #if in C Language Published at:- C #else in C Language Published at:- C #error in C Language Published at:- C #pragma in C Language Published at:- Command Line Arguments in C Language Published at:- C Expressions in C Language Published at:- Inception Of C Language Tutorial for Beginners Published at:- The C Compiler work in C language and its important Published at:- Program Structure with “Hello World” Example Published at:- Data Segments in C Language Published at:- Flow of C Program in C Language Published at:- What is a programming language in C Language Published at:- Differences between Machine-Level language and Assembly language Published at:- Differences between Low-Level language and High-Level language Published at:- Enum in C Language Published at:- What is getch() in C Language Published at:- What is the function call in C Language Published at:- Function Calling in C Language Published at:- Difference between typedef and define in C Published at:- Use of typedef keyword in Structure C Language Published at:- Program in C Language with Practical Published at:- Difference between the typedef and the #define in C Published at:-
R4R.co.in Team
The content on R4R is created by expert teams.