यह एक पॉइंटर है जो किसी भी डेटाटाइप वेरिएबल के एड्रेस को होल्ड कर सकता है (या) किसी भी डेटाटाइप वेरिएबल को इंगित कर सकता है।
घोषणा
शून्य सूचक के लिए घोषणा इस प्रकार है -
void *pointername;
उदाहरण के लिए - शून्य *vp;
एक्सेस करना - टाइप कास्ट ऑपरेटर का उपयोग किसी वेरिएबल के मान को उसके पॉइंटर के माध्यम से एक्सेस करने के लिए किया जाता है।
सिंटैक्स
शून्य सूचक का सिंटैक्स नीचे दिया गया है -
* ( (type cast) void pointer)
उदाहरण 1
int i=10;
void *vp;
vp = &i;
printf ("%d", * ((int*) vp));
// int * type cast उदाहरण
शून्य सूचक के लिए C प्रोग्राम निम्नलिखित है:-
#include<stdio.h>
main ( ){
int i =10;
float f = 5.34;
void *vp;
vp = &i;
printf ("i = %d", * ((int*)vp));
vp = &f;
printf ( "f = %f", * ((float*) vp));
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
i = 10 f = 5.34
उदाहरण 2
शून्य पॉइंटर्स में पॉइंटर अंकगणित के लिए सी प्रोग्राम नीचे दिया गया है -
#include<stdio.h>
#define MAX 20
int main(){
int array[5] = {12, 19, 25, 34, 46}, i;
void *vp = array;
for(i = 0; i < 5; i++){
printf("array[%d] = %d\n", i, *( (int *)vp + i ) );
}
return 0;
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
array[0] = 12 array[1] = 19 array[2] = 25 array[3] = 34 array[4] = 46