C में void पॉइंटर एक ऐसा पॉइंटर है जो किसी भी डेटा टाइप से संबद्ध नहीं है। यह स्टोरेज में किसी डेटा लोकेशन की ओर इंगित करता है यानी वेरिएबल्स के एड्रेस की ओर इंगित करता है। इसे जनरल पर्पज पॉइंटर भी कहा जाता है। C में, malloc() और calloc() फंक्शन्स void * या जेनेरिक पॉइंटर्स लौटाते हैं।
इसकी कुछ सीमाएं हैं −
- पॉइंटर अंकगणित void पॉइंटर के साथ संभव नहीं है क्योंकि इसका कोई ठोस आकार नहीं होता।
- इसे डीरेफरेंस नहीं किया जा सकता।
एल्गोरिदम
Begin
इंटीजर डेटा टाइप का a घोषित करें
a = 7 इनिशियलाइज़ करें
फ्लोट डेटा टाइप का b घोषित करें
b = 7.6 इनिशियलाइज़ करें
void के रूप में पॉइंटर p घोषित करें
p पॉइंटर को a पर इनिशियलाइज़ करें
"Integer variable is" प्रिंट करें
पॉइंटर p का उपयोग करके a का मान प्रिंट करें
p पॉइंटर को b पर इनिशियलाइज़ करें
"Float variable is" प्रिंट करें
पॉइंटर p का उपयोग करके b का मान प्रिंट करें
End.
उदाहरण कोड
#include <stdlib.h>
int main() {
int a = 7;
float b = 7.6;
void *p;
p = &a;
printf("Integer variable is = %d", *( (int*) p) );
p = &b;
printf("\nFloat variable is = %f", *( (float*) p) );
return 0;
}
आउटपुट
Integer variable is = 7 Float variable is = 7.600000