एक फ़ंक्शन कथनों का एक समूह है जो एक साथ एक कार्य करता है। प्रत्येक C प्रोग्राम में कम से कम एक फंक्शन होता है, जो main() . है , और सभी सबसे तुच्छ कार्यक्रम अतिरिक्त कार्यों को परिभाषित कर सकते हैं।
आप अपने कोड को अलग-अलग कार्यों में विभाजित कर सकते हैं। आप अपने कोड को विभिन्न कार्यों में कैसे विभाजित करते हैं, यह आप पर निर्भर है, लेकिन तार्किक रूप से विभाजन ऐसा है कि प्रत्येक फ़ंक्शन एक विशिष्ट कार्य करता है।
एक फ़ंक्शन घोषणा कंपाइलर को फ़ंक्शन के नाम, रिटर्न प्रकार और पैरामीटर के बारे में बताता है। एक फ़ंक्शन परिभाषा फ़ंक्शन का वास्तविक निकाय प्रदान करता है।
सी मानक पुस्तकालय कई अंतर्निहित कार्य प्रदान करता है जिसे आपका प्रोग्राम कॉल कर सकता है। उदाहरण के लिए, strcat() दो स्ट्रिंग्स को जोड़ने के लिए, memcpy() एक स्मृति स्थान को दूसरे स्थान पर कॉपी करने के लिए, और कई अन्य कार्य।
एक फ़ंक्शन को एक विधि या उप-दिनचर्या या एक प्रक्रिया, आदि के रूप में भी संदर्भित किया जा सकता है।
फ़ंक्शन को परिभाषित करना
सी प्रोग्रामिंग भाषा में फ़ंक्शन परिभाषा का सामान्य रूप इस प्रकार है -
return_type function_name( parameter list ) { body of the function }
C प्रोग्रामिंग में एक फंक्शन डेफिनिशन में एक फंक्शन हेडर और एक फंक्शन बॉडी होती है। यहाँ फ़ंक्शन के सभी भाग हैं -
-
वापसी का प्रकार - एक फ़ंक्शन एक मान लौटा सकता है। रिटर्न_टाइप फ़ंक्शन द्वारा लौटाए गए मान का डेटा प्रकार है। कुछ फ़ंक्शन बिना मान लौटाए वांछित संचालन करते हैं। इस मामले में, return_type कीवर्ड शून्य है।
-
फ़ंक्शन का नाम - यह फ़ंक्शन का वास्तविक नाम है। फ़ंक्शन का नाम और पैरामीटर सूची मिलकर फ़ंक्शन हस्ताक्षर बनाते हैं।
-
पैरामीटर - एक पैरामीटर प्लेसहोल्डर की तरह होता है। जब कोई फ़ंक्शन लागू किया जाता है, तो आप पैरामीटर के लिए एक मान पास करते हैं। इस मान को वास्तविक पैरामीटर या तर्क के रूप में संदर्भित किया जाता है। पैरामीटर सूची किसी फ़ंक्शन के पैरामीटर के प्रकार, क्रम और संख्या को संदर्भित करती है। पैरामीटर वैकल्पिक हैं; यानी, किसी फ़ंक्शन में कोई पैरामीटर नहीं हो सकता है।
-
कार्य निकाय - फंक्शन बॉडी में स्टेटमेंट्स का एक संग्रह होता है जो परिभाषित करता है कि फंक्शन क्या करता है।
उदाहरण कोड
/* function returning the max between two numbers */ int max(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; }
कार्य घोषणा
एक फ़ंक्शन घोषणा कंपाइलर को फ़ंक्शन नाम और फ़ंक्शन को कॉल करने के तरीके के बारे में बताता है। फ़ंक्शन के वास्तविक निकाय को अलग से परिभाषित किया जा सकता है।
एक फंक्शन डिक्लेरेशन में निम्नलिखित भाग होते हैं -
return_type function_name( parameter list );
उपरोक्त परिभाषित फ़ंक्शन अधिकतम () के लिए, फ़ंक्शन घोषणा इस प्रकार है -
int max(int num1, int num2);
फ़ंक्शन घोषणा में पैरामीटर नाम महत्वपूर्ण नहीं हैं केवल उनके प्रकार की आवश्यकता है, इसलिए निम्नलिखित भी एक वैध घोषणा है -
int max(int, int);
फ़ंक्शन कॉलिंग
C फ़ंक्शन बनाते समय, आप एक परिभाषा देते हैं कि फ़ंक्शन को क्या करना है। किसी फ़ंक्शन का उपयोग करने के लिए, आपको परिभाषित कार्य करने के लिए उस फ़ंक्शन को कॉल करना होगा।
जब कोई प्रोग्राम किसी फ़ंक्शन को कॉल करता है, तो प्रोग्राम नियंत्रण को कॉल किए गए फ़ंक्शन में स्थानांतरित कर दिया जाता है। एक कॉल किया गया फ़ंक्शन एक परिभाषित कार्य करता है और जब इसका रिटर्न स्टेटमेंट निष्पादित किया जाता है या जब इसके फंक्शन-एंडिंग क्लोजिंग ब्रेस तक पहुंच जाता है, तो यह प्रोग्राम कंट्रोल को मुख्य प्रोग्राम पर वापस लौटा देता है।
किसी फ़ंक्शन को कॉल करने के लिए, आपको केवल फ़ंक्शन नाम के साथ आवश्यक पैरामीटर पास करने की आवश्यकता होती है, और यदि फ़ंक्शन कोई मान देता है, तो आप दिए गए मान को संग्रहीत कर सकते हैं। उदाहरण के लिए -
उदाहरण कोड
#include <stdio.h> /* function declaration */ int max(int num1, int num2); int main () { /* local variable definition */ int a = 100; int b = 200; int ret; /* calling a function to get max value */ ret = max(a, b); printf( "Max value is : %d\n", ret ); return 0; } /* function returning the max between two numbers */ int max(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; }
आउटपुट
Max value is : 200