पहचानकर्ता प्रोग्रामिंग में किसी इकाई को प्रोग्राम में पहचानने के लिए दिया गया नाम है।
आम तौर पर, प्रोग्रामर द्वारा कुशल कार्य करने के लिए पहचानकर्ता बनाए जाते हैं लेकिन कुछ पूर्वनिर्धारित पहचानकर्ता होते हैं जो प्रोग्रामिंग में अंतर्निहित होते हैं। उदाहरण के लिए, cout, cin, आदि.
यहाँ, हम C प्रोग्रामिंग भाषा के इन पूर्वनिर्धारित पहचानकर्ताओं में से एक देखेंगे जो कि __func__ है।
__func__ की औपचारिक परिभाषा है -
“पहचानकर्ता __func__ को अनुवादक द्वारा परोक्ष रूप से घोषित किया जाएगा जैसे कि, प्रत्येक फ़ंक्शन परिभाषा के उद्घाटन ब्रेस के तुरंत बाद, घोषणा
static const char __func__[] = “function-name”;
दिखाई दिया, जहां फ़ंक्शन-नाम शाब्दिक-संलग्न फ़ंक्शन का नाम है।"
C प्रोग्राम __func__ एक कंपाइलर-जनरेटेड आइडेंटिफ़ायर है जो फ़ंक्शन नाम का उपयोग करके फ़ंक्शन की पहचान करने के लिए बनाया गया है।
आइए अवधारणा को और स्पष्ट करने के लिए कुछ कोड उदाहरण देखें,
उदाहरण
#include <stdio.h> void function1 (void){ printf ("%s\n", __func__); } void function2 (void){ printf ("%s\n", __func__); function1 (); } int main (){ function2 (); return 0; }
आउटपुट
function2 function1
स्पष्टीकरण - यहां, हमने __func__ मेथड का इस्तेमाल उन फंक्शन्स के नाम वापस करने के लिए किया है, जिन्हें कॉल किया जाता है। पहचानकर्ता उस फ़ंक्शन का नाम देता है जिसमें इसे लागू किया जाता है। दोनों प्रिंट स्टेटमेंट ने __func__ को अपने तरीके के संदर्भ के लिए बुलाया।
यह पहचान मुख्य विधि पर भी काम करती है। उदाहरण,
उदाहरण
#include <stdio.h> int main (){ printf ("%s\n", __func__); return 0; }
आउटपुट
main
लेकिन इसे अधिलेखित नहीं किया जा सकता है यानी __func__ केवल फ़ंक्शन नामों के लिए आरक्षित है। किसी और चीज को स्टोर करने के लिए इसका उपयोग करने से त्रुटि वापस आ जाएगी।
आइए देखें
उदाहरण
#include <stdio.h> int __func__ = 123; int main (){ printf ("%s\n", __func__); return 0; }
आउटपुट
error
C प्रोग्रामिंग लैंग्वेज में भी इसी तरह के अन्य कार्य हैं जो समान पहचान का कार्य करते हैं। कुछ हैं
__फ़ाइल__ - वर्तमान फ़ाइल का नाम लौटाएं।
__LINE__ - वर्तमान लाइन की संख्या लौटाता है।
आइए कार्यान्वयन दिखाने के लिए एक कोड देखें
उदाहरण
#include <stdio.h> void function1(){ printf("The function: %s is in line: %d of the file :%s\n", __func__,__LINE__,__FILE__); } int main(){ function1(); return 0; }
आउटपुट
The function: function1 is in line: 3 of the file :main.c
स्पष्टीकरण - ये कुछ सामान्य कार्य हैं जो उपयोगी हो सकते हैं क्योंकि हमने __func__,__LINE__,__FILE__ पहचानकर्ताओं का उपयोग करके वर्तमान में लागू फ़ाइल नाम, कोड की पंक्ति और फ़ंक्शन के संबंध में जानकारी एकत्र की है।