यहां हम देखेंगे कि हमें सी में फ़ंक्शन प्रोटोटाइप का उपयोग क्यों करना चाहिए। फ़ंक्शन प्रोटोटाइप का उपयोग कंपाइलर को तर्कों की संख्या और फ़ंक्शन पैरामीटर के आवश्यक डेटाटाइप के बारे में बताने के लिए किया जाता है, यह फ़ंक्शन के रिटर्न प्रकार के बारे में भी बताता है। इस जानकारी के द्वारा, कंपाइलर कॉल करने से पहले फंक्शन सिग्नेचर को क्रॉस-चेक करता है। यदि फ़ंक्शन प्रोटोटाइप का उल्लेख नहीं किया गया है, तो प्रोग्राम कुछ चेतावनियों के साथ संकलित किया जा सकता है, और कभी-कभी कुछ अजीब आउटपुट उत्पन्न करता है।
यदि किसी फ़ंक्शन को कहीं कहा जाता है, लेकिन उसके शरीर को अभी तक परिभाषित नहीं किया गया है, जिसे वर्तमान रेखा के बाद परिभाषित किया गया है, तो यह समस्याएं उत्पन्न कर सकता है। कंपाइलर को यह नहीं पता कि फंक्शन क्या है और उसका सिग्नेचर क्या है। उस स्थिति में, हमें प्रोटोटाइप कार्य करने की आवश्यकता है। यदि फ़ंक्शन को पहले परिभाषित किया गया है तो हमें प्रोटोटाइप की आवश्यकता नहीं है।
उदाहरण कोड
#include<stdio.h> main() { function(50); } void function(int x) { printf("The value of x is: %d", x); }
आउटपुट
The value of x is: 50
यह आउटपुट दिखाता है, लेकिन यह नीचे की तरह कुछ चेतावनी दिखा रहा है:
[Warning] conflicting types for 'function' [Note] previous implicit declaration of 'function' was here
अब फ़ंक्शन प्रोटोटाइप का उपयोग करके, यह बिना किसी समस्या के निष्पादित हो रहा है।
उदाहरण कोड
#include<stdio.h> void function(int); //prototype main() { function(50); } void function(int x) { printf("The value of x is: %d", x); }
आउटपुट
The value of x is: 50