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

C में फंक्शन डिक्लेरेशन से पहले कॉल होने पर क्या होता है?


यदि फंक्शन प्रोटोटाइप के बिना कॉल किया जाता है और उसकी डेफिनिशन बाद में आती है, तो C (C89/C90) **इम्प्लिसिट डिक्लेरेशन** मान लेता है: int func()।

समस्या

#include <stdio.h>

int main() {
    printf("Returned: %d\n", function());  // इम्प्लिसिट int function()
}

char function() {  // वास्तविक रिटर्न टाइप char
    return 'T';
}

आउटपुट (एरर)

[Error] conflicting types for 'function'
[Note] previous implicit declaration of 'function' was here

सही: रिटर्न टाइप int मैच करता है

#include <stdio.h>

int main() {
    printf("Returned: %d\n", function());  // इम्प्लिसिट int - मैच करता है
}

int function() {  // वास्तविक रिटर्न int
    return 86;
}

आउटपुट

Returned: 86

समाधान: फंक्शन प्रोटोटाइप

#include <stdio.h>

char function();  // प्रोटोटाइप - कंपाइलर को सिग्नेचर बताता है

int main() {
    printf("Returned: %c\n", function());  // सही: %c के साथ
    return 0;
}

char function() {
    return 'T';
}

मुख्य बिंदु

  • C99 और बाद में: इम्प्लिसिट डिक्लेरेशन **हटा दिया गया** - कंपल्सरी प्रोटोटाइप।
  • C++: हमेशा प्रोटोटाइप आवश्यक (इम्प्लिसिट डिक्लेरेशन कभी नहीं था)।
  • सर्वोत्तम अभ्यास: हेडर फाइल में प्रोटोटाइप्स रखें, या फंक्शन को उपयोग से पहले डिफाइन करें।
  1. जब आप अपना फेसबुक अकाउंट निष्क्रिय करते हैं तो क्या होता है? जब आप अपना फेसबुक अकाउंट निष्क्रिय करते हैं तो क्या होता है?

    फेसबुक ने वर्षों में कई घोटालों का सामना किया है, और वे हमेशा उसके उपयोगकर्ताओं की गोपनीयता और सुरक्षा से संबंधित रहे हैं। इसने #DeleteFacebook अभियान को जन्म दिया, और शायद आप भी परिणामस्वरूप फेसबुक हटाने के लिए प्रेरित हुए हों। हालाँकि, एक और विकल्प है। फेसबुक को हटाने के बजाय, आप बस अपना अकाउंट नि

  1. WhatsApp अनइंस्टॉल करने पर क्या होता है WhatsApp अनइंस्टॉल करने पर क्या होता है

    क्या आपने कभी सोचा है कि अगर आप WhatsApp अनइंस्टॉल करते हैं तो क्या होता है? चाहे गलती से या किसी संभावित कारण से जब आपको ऐसा करने की आवश्यकता हो, जिस क्षण आप WhatsApp अनइंस्टॉल करते हैं, यह आपके फोन से गायब हो जाएगा। आपके कॉन्टैक्ट्स आपको अपनी लिस्ट पर देख पाएंगे, लेकिन उनके मैसेज आप तक नहीं पहुंचे

  1. Skype लैग ठीक करें: स्मूथ कॉल्स के लिए क्विक सॉल्यूशंस Skype लैग ठीक करें: स्मूथ कॉल्स के लिए क्विक सॉल्यूशंस

    Skype का उपयोग कौन नहीं करता? लगभग हर कोई करता है। वेब-आधारित कम्युनिकेशन प्लेटफॉर्म की प्रचुरता के बावजूद, Skype अधिकांश रिमोट वर्कर्स की पसंद बना हुआ है। तथ्य यह है कि यह उपयोग में आसान है, इसे शीर्ष विकल्प बनाता है। किसी अन्य प्रोग्राम की तरह, यह कुछ समस्याओं में पड़ सकता है। Skype स्लो इस विशेष