पाठ 12 / 36

फंक्शन प्रोटोटाइप

फंक्शन परिभाषित करने से पहले कंपाइलर को उसके बारे में बताएँ।

प्रोटोटाइप क्यों?

C ऊपर से नीचे पढ़ता है। अगर main किसी ऐसे फंक्शन को कॉल करता है जो फाइल में बाद में परिभाषित है, तो कंपाइलर को पहले ही उसका प्रोटोटाइप; पर खत्म होने वाला सिग्नेचर — चाहिए।

पहले घोषणा, फिर परिभाषा

प्रोटोटाइप में पैरामीटर के नाम वैकल्पिक हैं और केवल दस्तावेज़ीकरण के लिए हैं।

#include <stdio.h>

int square(int n);   // prototype

int main(void) {
    printf("%d\n", square(5));
    return 0;
}

int square(int n) {  // definition
    return n * n;
}

Output:

25

हेडर फाइलें प्रोटोटाइप रखती हैं

<stdio.h> जैसी फाइलें दरअसल printf जैसे फंक्शनों के प्रोटोटाइप से भरी होती हैं, ताकि कंपाइलर लिंकिंग से पहले ही आपकी कॉल्स पर भरोसा कर सके।