पॉइंटर एक वेरिएबल है जिसका मान किसी अन्य वेरिएबल या मेमोरी ब्लॉक का पता होता है, यानी मेमोरी लोकेशन का सीधा पता। किसी भी वेरिएबल या कॉन्स्टेंट की तरह, आपको इसका उपयोग करने से पहले किसी वेरिएबल या ब्लॉक पते को स्टोर करने के लिए एक पॉइंटर घोषित करना होगा।
सिंटैक्स
डेटाटाइप *वेरिएबल_नाम
एल्गोरिदम
शुरुआत
show फ़ंक्शन परिभाषित करें
integer डेटाटाइप का वेरिएबल x घोषित करें
वेरिएबल x का मान प्रिंट करें
integer डेटाटाइप का पॉइंटर p घोषित करें
p को show() फ़ंक्शन के पते के पॉइंटर के रूप में परिभाषित करें
p पॉइंटर को मान इनिशियलाइज़ करें
समाप्ति
यह C में फ़ंक्शन के पॉइंटर की अवधारणा को समझने का एक सरल उदाहरण है।
#include <stdio.h>
void show(int x) {
printf("x का मान %d है\n", x);
}
int main() {
void (*p)(int); // पॉइंटर घोषित करना
p = &show; // p, show() का पॉइंटर है
(*p)(7); // मान इनिशियलाइज़ करना
return 0;
}
आउटपुट
x का मान 7 है।
व्याख्या
void (*p)(int)- एक फ़ंक्शन पॉइंटर घोषित करता है जोintपैरामीटर लेता है औरvoidलौटाता हैp = &show- p को show फ़ंक्शन का पता असाइन करता है(*p)(7)- पॉइंटर के माध्यम से फ़ंक्शन को 7 आर्गुमेंट के साथ कॉल करता है
उपयोग के उदाहरण
// कॉलबैक फ़ंक्शन के रूप में उपयोग
void process(void (*callback)(int), int value) {
callback(value);
}
// फ़ंक्शन पॉइंटर्स का ऐरे
void (*operations[])(int) = {func1, func2, func3};
operations[0](10); // func1(10) कॉल करता है