यह एक पॉइंटर है जो किसी भी डेटा टाइप के वेरिएबल का पता रख सकता है (या किसी भी डेटा टाइप के वेरिएबल को इंगित कर सकता है)।
घोषणा
वॉइड पॉइंटर के लिए घोषणा निम्नलिखित है:
void *pointername;
उदाहरण: void *vp;
एक्सेस करना - टाइप कास्ट ऑपरेटर का उपयोग इसके पॉइंटर के माध्यम से वेरिएबल के मान को एक्सेस करने के लिए किया जाता है।
सिंटैक्स
वॉइड पॉइंटर के लिए सिंटैक्स नीचे दिया गया है:
*((type_cast) void_pointer)
उदाहरण 1
int i = 10;
void *vp;
vp = &i;
printf("%d", *((int*)vp)); // int* टाइप कास्ट
उदाहरण: वॉइड पॉइंटर के लिए C प्रोग्राम
#include <stdio.h>
int main() {
int i = 10;
float f = 5.34;
void *vp;
vp = &i;
printf("i = %d", *((int*)vp));
vp = &f;
printf("f = %f", *((float*)vp));
return 0;
}
आउटपुट
उपरोक्त प्रोग्राम को निष्पादित करने पर निम्नलिखित परिणाम प्राप्त होता है:
i = 10 f = 5.34
उदाहरण 2: वॉइड पॉइंटर्स में पॉइंटर अंकगणित
नीचे दिया गया C प्रोग्राम वॉइड पॉइंटर्स में पॉइंटर अंकगणित के लिए है:
#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