
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Differentiate Null Pointer and Void Pointer in C Language
The difference between a Null pointer and a Void pointer is that a Null pointer represents a value, while a Void pointer is a type identifier.
NULL Pointer
A null pointer indicates that it does not point to anything. If a pointer has no assigned address, it should be set to null. Each pointer type, such as int* or char*, can have a null pointer value.
The syntax is as follows ?
<data type> *<variable name> = NULL;
Example
Following is the C program for NULL pointer ?
#include <stdio.h> int main() { printf("TutorialPoint C Programming
"); int *p = NULL; // ptr is a NULL pointer printf("The value of pointer is: %p
", (void *)p); return 0; }
When the above program is executed, it produces the following result ?
TutorialPoint C Programming The value of pointer is: 0
Void Pointer
A void pointer, or general-purpose pointer, does not have an associated data type. It can hold the addresses of any data type. The syntax is as follows ?
void *<data type>
Example
Following is the C program for Void Pointer ?
#include<stdio.h> int main(){ int a = 10; void *ptr = &a; printf("%d", *(int *)ptr); return 0; }
When the above program is executed, it produces the following result ?
10
Difference Between Null and Void Pointer
Below is a table that highlights the differences between null pointers and void pointers in c programming.
Null Pointer | Void Pointer |
---|---|
Null represents an empty variable value | A Void denotes a pointer with no initial size. |
Null means never existed. | Void means, it exists but is no longer in use. |
This doesn't point to a valid location. | This can point to any type of data. |