Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में प्रीडिफाइंड आइडेंटिफायर __func__

आइडेंटिफायर प्रोग्रामिंग में किसी एंटिटी को दिया गया नाम है ताकि उसे प्रोग्राम में पहचाना जा सके।

आमतौर पर, आइडेंटिफायर्स प्रोग्रामर द्वारा कुशल कार्य के लिए बनाए जाते हैं लेकिन कुछ प्रीडिफाइंड आइडेंटिफायर्स होते हैं जो प्रोग्रामिंग में इनबिल्ट होते हैं। उदाहरण के लिए, cout, cin, आदि।

यहां, हम C प्रोग्रामिंग भाषा के इन प्रीडिफाइंड आइडेंटिफायर्स में से एक को देखेंगे जो __func__ है।

__func__ की औपचारिक परिभाषा है -

"आइडेंटिफायर __func__ को ट्रांसलेटर द्वारा निहित रूप से घोषित किया जाएगा जैसे कि, प्रत्येक फंक्शन डेफिनिशन के ओपनिंग ब्रेस के तुरंत बाद, डिक्लेरेशन

static const char __func__[] = "function-name";

प्रकट हुआ, जहां function-name लेक्सिकली-एनक्लोजिंग फंक्शन का नाम है।"

C प्रोग्राम __func__ एक कंपाइलर-जनरेटेड आइडेंटिफायर है जो फंक्शन नाम का उपयोग करके फंक्शन की पहचान करने के लिए बनाया गया है।

आइए कुछ कोड उदाहरण देखें ताकि अवधारणा अधिक स्पष्ट हो जाए,

उदाहरण

#include 
void function1 (void){
    printf ("%s\n", __func__);
}
void function2 (void){
    printf ("%s\n", __func__);
    function1 ();
}
int main (){
    function2 ();
    return 0;
}

आउटपुट

function2
function1

व्याख्या - यहां, हमने __func__ मेथड का उपयोग उन फंक्शन्स के नाम लौटाने के लिए किया है जिन्हें कॉल किया गया है। आइडेंटिफायर उस फंक्शन का नाम लौटाता है जिसमें इसे इनवोक किया गया है। दोनों प्रिंट स्टेटमेंट्स ने अपने स्वयं के मेथड रेफरेंस के लिए __func__ को कॉल किया।

यह आइडेंटिफायर main मेथड पर भी काम करता है। उदाहरण,

उदाहरण

#include 
int main (){
    printf ("%s\n", __func__);
    return 0;
}

आउटपुट

main

लेकिन इसे ओवरराइट नहीं किया जा सकता यानी __func__ केवल फंक्शन नामों के लिए आरक्षित है। इसे कुछ और स्टोर करने के लिए उपयोग करने से एरर आएगा।

आइए देखें

उदाहरण

#include 
int __func__ = 123;
int main (){
    printf ("%s\n", __func__);
    return 0;
}

आउटपुट

error

C प्रोग्रामिंग भाषा में अन्य समान फंक्शन्स भी हैं जो पहचान का समान कार्य करते हैं। कुछ हैं

__File__ - वर्तमान फाइल का नाम लौटाता है।

__LINE__ - वर्तमान लाइन नंबर लौटाता है।

आइए कार्यान्वयन दिखाने के लिए एक कोड देखें

उदाहरण

#include 
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__ आइडेंटिफायर्स का उपयोग करके वर्तमान में इनवोक किए गए फंक्शन, कोड की लाइन और फाइलनाम के बारे में जानकारी एकत्र की है।

  1. C में fillpoly() फ़ंक्शन C में fillpoly() फ़ंक्शन

    अवधारणा अब हेडर फ़ाइल graphics.h में fillpoly() फ़ंक्शन होता है जिसे त्रिकोण, आयत, पंचभुज, षट्कोण आदि जैसे बहुभुज को बनाने और भरने के लिए लागू किया जाता है। इसलिए इस फ़ंक्शन को drawpoly() के समान तर्कों की आवश्यकता होती है। सिंटैक्स void fillpoly( int number, int *polypoints ); इस मामले में, number

  1. - C प्रोग्राम: फ़ाइल डिलीट करना

    C में फ़ाइल हटाना C प्रोग्रामिंग में, remove() फ़ंक्शन का उपयोग फ़ाइल को हटाने के लिए किया जाता है। यह फ़ंक्शन <stdio.h> हेडर फ़ाइल में परिभाषित है। सिंटैक्स remove(file_name); पैरामीटर file_name: हटाई जाने वाली फ़ाइल का नाम (पथ सहित यदि सिस्टम समर्थन करता है) रिटर्न मान 0: सफल डिलीशन गै

  1. C ग्राफिक्स: bar() फ़ंक्शन C ग्राफिक्स: bar() फ़ंक्शन

    bar() फ़ंक्शन bar() C ग्राफिक्स में एक फ़ंक्शन है जो एक भरा हुआ आयत (बार) खींचता है। यह graphics.h हेडर फ़ाइल में परिभाषित है। सिंटैक्स void bar(int left, int top, int right, int bottom); पैरामीटर left, top: ऊपरी-बाएं कोने के निर्देशांक (x, y) right, bottom: निचले-दाएं कोने के निर्देशांक (x, y)