c - Function declaration vs function definition -
यदि मेरे पास यह प्रोटोटाइप है:
int बार (int); संकलक के लिए मैं पहचानकर्ता बार घोषित कर रहा हूं यदि मुझे यह परिभाषा है: < / P>
इंट बार (int a) {}; संकलक के लिए मैं पहचानकर्ता बार परिभाषित हूँ आम तौर पर एक परिभाषा के साथ एक ऑब्जेक्ट के लिए स्टोरेज आबंटन बनाते हैं लेकिन:
- क्या यह फ़ंक्शन घोषणापत्र के लिए भी सच है? इसके अलावा इस मामले में कोई भंडारण आवंटित नहीं है?
- फ़ंक्शन परिभाषा के लिए आवंटित भंडारण और क्या आवंटित किया गया है?
पी। एस। सी विनिर्देश जब घोषणा या परिभाषा के बारे में कहता है, उनके अपेक्षाकृत अपेक्षाकृत (यानी एक पहचानकर्ता की घोषणा ...) का कहना है लेकिन मैंने यह भी पढ़ा है जहां कहलाता है की घोषणा एक चर तो क्या कोई अंतर है या केवल एक अर्थ के बारे में कहने के लिए "डबल-वे" है?
फ़ंक्शन के मामले में, फ़ंक्शन को पहली बार नाम दिया जाने पर संग्रहण आवंटन किया जाता है परिभाषा खुद भंडारण आवंटन नहीं करती है।
आपको यह भी ध्यान रखना चाहिए कि फ़ंक्शन के शरीर को खाली करना मान्य है जब रिटर्न प्रकार का फ़ंक्शन शून्य है इसलिए, संकलक को इंट बार (int a) {}; [चेतावनी] नियंत्रण गैर शून्य समारोह के अंत तक पहुँच जाता है [-विवरण-प्रकार]
[चेतावनी] आईएसओ सी अतिरिक्त अनुमति नहीं देता ';' एक फ़ंक्शन के बाहर [-पैतिक]
Comments
Post a Comment