C में फंक्शन्स के बारे में जानने के लिए आपको जो कुछ भी चाहिए?



यह लेख आपको एक सरल अभी तक एक बहुत ही मौलिक और महत्वपूर्ण अवधारणा से परिचित कराएगा जो कि C में कार्य करता है और इसे एक प्रदर्शन के साथ पालन करता है।

यह लेख आपको एक सरल अभी तक एक बहुत ही मौलिक और महत्वपूर्ण परिचय देगा अवधारणा जो C में कार्य है और एक प्रदर्शन के साथ इसका अनुसरण करती है। इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,

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





आइए सबसे मूलभूत प्रश्न से शुरुआत करते हैं।

C में कार्य क्या हैं?

C किसी अन्य प्रोग्रामिंग लैंग्वेज की तरह फंक्शन्स C में समान हैं। यह एक विशिष्ट कार्य को करने के लिए एक साथ बंधे हुए कोड का एक समूह है। निष्पादित किए जाने वाले कोड का सेट घुंघराले ब्रेसिज़ में निर्दिष्ट किया जाता है, अर्थात ’{}’।



C में एक फ़ंक्शन लिखने का तरीका सीखने से पहले, आइए पहले यह समझें कि फायदे क्या हैं।

सेलेनियम में कीवर्ड संचालित रूपरेखा

सी में फंक्शन्स के फायदे

सभी प्रोग्रामिंग भाषाओं में फ़ंक्शन के फायदे आम हैं।
फ़ंक्शन के पीछे मुख्य विचार कोड में अतिरेक को कम करना है। मान लें कि आपके पास एक कार्यक्षमता है जिसे एक कार्यक्रम में कई बार निष्पादित करने की आवश्यकता है, इसलिए इसे कई बार लिखने के बजाय, आप उस कार्य के लिए एक फ़ंक्शन बना सकते हैं और इसे जितनी बार चाहें कॉल कर सकते हैं। एक और छिपा हुआ लाभ है, यदि आपकी कार्यक्षमता का तर्क बाद में बदल जाता है, तो आपको आगे नहीं जाना है और इसे कई स्थानों पर बदलना होगा। आपको बस एक स्थान पर कोड बदलना होगा (यानी फ़ंक्शन में) और यह पूरे कार्यक्रम में दिखाई देगा।

पुन: एक अतिरिक्त लाभ में मॉड्यूलरिटी। प्रत्येक और सब कुछ सहित कोड का एक बड़ा टुकड़ा लिखना, कोड की पठनीयता को कम करता है और इसे प्रबंधित करना मुश्किल बनाता है। आप फ़ंक्शंस का उपयोग करके कोड को अलग-अलग कार्यात्मकताओं के लिए वर्गों में विभाजित कर सकते हैं, जो समझना आसान है और प्रबंधन करना आसान है।



फ़ंक्शन भी अमूर्तता प्रदान करता है, जहां हम एक फ़ंक्शन को कॉल कर सकते हैं और आंतरिक कार्यान्वयन को जाने बिना आउटपुट प्राप्त कर सकते हैं।

फंक्शन C के प्रकारों के साथ आगे बढ़ना

C में फ़ंक्शन के प्रकार

दो प्रकार के कार्य हैं:
पुस्तकालय के कार्य
उपयोगकर्ता-परिभाषित कार्य

लाइब्रेरी फ़ंक्शंस वे फ़ंक्शंस हैं जो पहले से ही C लाइब्रेरी में परिभाषित हैं जैसे strcat (), printf (), scanf () आदि। आपको इन फ़ंक्शंस का उपयोग करने के लिए उचित हेडर फ़ाइलों को शामिल करना होगा।
उपयोगकर्ता-परिभाषित कार्य वे कार्य हैं जो उपयोगकर्ता द्वारा परिभाषित किए गए हैं। इन कार्यों को कोड पुन: प्रयोज्य और समय और स्थान की बचत के लिए बनाया जाता है।

अब जब हम जानते हैं कि फंक्शन क्रिएट करने के फायदे जानते हैं कि C में फंक्शन कैसे घोषित किया जाए।

समारोह घोषणा और परिभाषा

घोषणा

फ़ंक्शन घोषणा का सिंटैक्स:

return_type function_name (data_type arg1, data_type arg2) int add (int x, int y) // फ़ंक्शन घोषणा

फ़ंक्शन घोषणा में, हम फ़ंक्शन का नाम, इनपुट पैरामीटर की संख्या, उनके डेटाटिप्स और फ़ंक्शन का रिटर्न प्रकार निर्दिष्ट करते हैं। फ़ंक्शन डिक्लेरेशन कम्पाइलर को उन तर्कों की सूची के बारे में बताता है जो फ़ंक्शन उनके डेटा प्रकारों और फ़ंक्शन के रिटर्न प्रकार के साथ उम्मीद कर रहा है।

फ़ंक्शन घोषणा में, पैरामीटर के नामों को निर्दिष्ट करना वैकल्पिक है, लेकिन उनके डेटा प्रकारों को निर्दिष्ट करना अनिवार्य है।

int add (int, int) // फंक्शन डिक्लेरेशन

उपरोक्त निर्दिष्ट फ़ंक्शन दो पूर्णांक पैरामीटर लेगा।

कार्य की परिभाषा

 चित्र- C- एडुरेका में कार्य
int add (int, int) // फंक्शन डिक्लेरेशन return_type function_name (पैरामीटर्स) {फंक्शन बॉडी}

जैसा कि ऊपर चित्र में दिखाया गया है कि एक फंक्शन डेफिनेशन में दो भाग होते हैं यानी फंक्शन हेडर और फंक्शन बॉडी

हेडर फ़ंक्शन हेडर अर्धविराम के बिना फ़ंक्शन घोषणा के समान है। फ़ंक्शन हेडर में फ़ंक्शन का नाम, पैरामीटर और रिटर्न प्रकार होता है।

  • वापसी प्रकार: रिटर्न प्रकार मान का डेटा प्रकार है जो फ़ंक्शन द्वारा वापस किया जाएगा। फ़ंक्शन मान वापस कर सकता है या नहीं भी कर सकता है। यदि ऐसा होता है, तो रिटनिंग मान के डेटा प्रकार को निर्दिष्ट किया जाना चाहिए, अन्यथा रिटर्न प्रकार को शून्य करने की आवश्यकता है।

  • समारोह का नाम: यह फ़ंक्शन का नाम है, जिसके उपयोग से हम फ़ंक्शन को कॉल कर सकते हैं जब और जहां आवश्यक हो।

  • पैरामीटर: पैरामीटर इनपुट मान हैं जो फ़ंक्शन को पास किए जाएंगे। यह डेटा प्रकार के तर्कों, उनके आदेश और फ़ंक्शन को दिए जाने वाले तर्कों की संख्या के बारे में बताता है। पैरामीटर वैकल्पिक हैं। आप मापदंडों के बिना भी कार्य कर सकते हैं।

समारोह शरीर: फ़ंक्शन बॉडी स्टेटमेंट का सेट है जो एक विशिष्ट कार्य करता है। यह परिभाषित करता है कि फ़ंक्शन क्या करता है।

उदाहरण:

int add (int x, int y) {int sum = x + y return (राशि)}

यह परिभाषित करने और उपयोग करने से पहले हमें एक फ़ंक्शन घोषित करने की सिफारिश की जाती है। C में, हम एक ही स्थान पर फ़ंक्शन को घोषित और परिभाषित कर सकते हैं।

उदाहरण:

#include int add (int, int) // फंक्शन डिक्लेरेशन // फंक्शन डेफिनिशन int add (int x, int y) // फंक्शन हैडर {// फंक्शन बॉडी int sum = x + y return (sum)} // मेन फंक्शन int main () {int sum = add (23, 31) printf ('% d', sum) वापसी 0}

जैसा कि हम उपरोक्त उदाहरण में देख सकते हैं कि हम int = add (23, 31) स्टेटमेंट का उपयोग करके फ़ंक्शन को कॉल कर रहे हैं। फ़ंक्शन से लौटाया गया मान योग चर में संग्रहीत होता है।

इससे पहले कि हम आगे बढ़ें, माता-पिता के बारे में समझने के लिए एक और महत्वपूर्ण अवधारणा है। दो प्रकार के पैरामीटर हैं:

वास्तविक पैरामीटर : वे पैरामीटर जिन्हें कॉल करते समय फ़ंक्शन को पास किया जाता है उन्हें वास्तविक पैरामीटर के रूप में जाना जाता है। उदाहरण के लिए, उपरोक्त उदाहरण में 23 और 31 वास्तविक पैरामीटर हैं।

औपचारिक पैरामीटर : वे पैरामीटर जो फ़ंक्शन द्वारा प्राप्त किए जाते हैं उन्हें औपचारिक मापदंडों के रूप में जाना जाता है। उदाहरण के लिए, उपरोक्त उदाहरण में x और y औपचारिक पैरामीटर हैं।

चलो जल्दी से आगे बढ़ते हैं और सी में फ़ंक्शन को कॉल करने के विभिन्न तरीकों को समझते हैं।

एक समारोह बुला रहा है

ऐसे दो तरीके हैं जिनसे हम एक फ़ंक्शन को कॉल कर सकते हैं:

  • मूल्य से बुलाओ
  • संदर्भ से कॉल करें

मूल्य से बुलाओ

मूल्य विधि द्वारा कॉल में, वास्तविक पैरामीटर का मान फ़ंक्शन के तर्क के रूप में पारित किया जाता है। वास्तविक पैरामीटर का मान औपचारिक मापदंडों द्वारा नहीं बदला जा सकता है।

कॉल वैल्यू मेथड में, विभिन्न मेमोरी एड्रेस को औपचारिक और वास्तविक मापदंडों के लिए आवंटित किया जाता है। बस वास्तविक पैरामीटर के मूल्य को औपचारिक पैरामीटर में कॉपी किया जाता है।

उदाहरण:

#include void Call_By_Value (int num1) {num1 = 42 प्रिंटफ़ ('nInside फ़ंक्शन, नंबर% d', num1)} int main () {int num num = 24 प्रिंटफ़ ('nBefore फ़ंक्शन, संख्या% d'), संख्या ) Call_By_Value (संख्या) प्रिंटफ़ ('n फ़ंक्शन के बाद, संख्या% dn है, संख्या) वापसी '}

आउटपुट

उपरोक्त उदाहरण में, मान फ़ंक्शन द्वारा कॉल करने से पहले, संख्या का मान 24 है। फिर, एक बार हम फ़ंक्शन को कॉल करते हैं और मान पास करते हैं, और फ़ंक्शन के अंदर इसे बदलते हैं, यह 42 हो जाता है। जब हम वापस आते हैं और फिर से मूल्य प्रिंट करते हैं संख्या के मुख्य समारोह में, यह 24 हो जाता है।

संदर्भ से कॉल करें

संदर्भ द्वारा कॉल में, वास्तविक पैरामीटर का मेमोरी पता फ़ंक्शन को तर्क के रूप में दिया जाता है। यहां, औपचारिक पैरामीटर द्वारा वास्तविक पैरामीटर के मूल्य को बदला जा सकता है।

समान मेमोरी एड्रेस का उपयोग वास्तविक और औपचारिक दोनों मापदंडों के लिए किया जाता है। इसलिए, यदि औपचारिक पैरामीटर के मूल्य को संशोधित किया गया है, तो यह वास्तविक पैरामीटर द्वारा भी परिलक्षित होता है।

C में हम संदर्भ द्वारा कॉल को कार्यान्वित करने के लिए पॉइंटर्स का उपयोग करते हैं। जैसा कि आप नीचे दिए गए उदाहरण में देख सकते हैं, कॉल Call_By_Reference एक पूर्णांक के लिए सूचक की अपेक्षा कर रहा है।

अब, यह num1 चर वास्तविक पैरामीटर के मेमोरी एड्रेस को स्टोर करेगा। इसलिए, मूल्य को प्रिंट करने के लिए जिसे num1 द्वारा बताए गए मेमोरी एड्रेस में स्टोर किया जाता है, हमें dereference ऑपरेटर यानि * का उपयोग करना होगा। तो, * num1 का मान 42 है।

पता ऑपरेटर और किसी भी डेटा प्रकार के एक चर का पता पाने के लिए प्रयोग किया जाता है। तो फ़ंक्शन कॉल स्टेटमेंट में _B Call_By_Reference (& num) ’, संख्या के पते को पास किया जाता है ताकि उसके पते का उपयोग करके संख्या को संशोधित किया जा सके।

उदाहरण

#include // फ़ंक्शन परिभाषा void Call_By_Reference (int * num1) {* num1 = 42 प्रिंटफ़ ('nInside फ़ंक्शन, नंबर% d', * num1)} // मुख्य फ़ंक्शन int main () 'int num num = 24 प्रिंटफ़ () 'nBefore फ़ंक्शन, संख्या% d', संख्या) Call_By_Reference (& num) प्रिंटफ़ ('n फ़ंक्शन के बाद, संख्या% dn है', संख्या) वापसी 0}

आउटपुट

इस उदाहरण में, मुख्य फ़ंक्शन के अंदर प्रारंभ में संख्या का मान 24 है। एक बार जब यह Call_By_Reference फ़ंक्शन में पास हो जाता है और मूल्य को औपचारिक पैरामीटर द्वारा संशोधित किया जाता है, तो यह वास्तविक पैरामीटर के लिए भी बदल गया। यही कारण है कि जब हम फ़ंक्शन के बाद संख्या के मूल्य को प्रिंट कर रहे हैं तो यह 42 का मुद्रण कर रहा है।

C में उपयोगकर्ता-परिभाषित फ़ंक्शन के प्रकारों के साथ आगे बढ़ना

उपयोगकर्ता-परिभाषित के प्रकार समारोह सी में

लौटे प्रकार और तर्कों के आधार पर विभिन्न प्रकार के उपयोगकर्ता-परिभाषित कार्य हैं।

कोई तर्क नहीं और कोई वापसी मान के साथ आगे बढ़ना

1. कोई तर्क पारित नहीं किया और कोई वापसी मूल्य नहीं

वाक्य - विन्यास:

समारोह घोषणा:

शून्य फ़ंक्शन () फ़ंक्शन कॉल: फ़ंक्शन () फ़ंक्शन परिभाषा: शून्य फ़ंक्शन () {कथन}

उदाहरण

#include void add () void add () {int x = 20 int y = 30 int sum = x + y printf ('sum% d', sum)} int main () {add () return 0}

बिना किसी तर्क के चलते हुए लेकिन एक वापसी मूल्य

2 कोई दलीलें पारित नहीं हुईं लेकिन वापसी मूल्य

वाक्य - विन्यास:

समारोह घोषणा:

int फ़ंक्शन () फ़ंक्शन कॉल: फ़ंक्शन () फ़ंक्शन परिभाषा: int फ़ंक्शन () {स्टेटमेंट्स एक}

उदाहरण:

#include int add () int add () {int x = 20 int y = 30 int sum = x + y return (sum)} int main () {int sum sum = add () printf ('sum% d'), योग) वापसी 0}

तर्क के साथ आगे बढ़ना, लेकिन कोई वापसी मूल्य नहीं

3 तर्क पारित हुआ लेकिन कोई वापसी मूल्य नहीं

वाक्य - विन्यास:

समारोह घोषणा:

शून्य फ़ंक्शन (इंट) फ़ंक्शन कॉल: फ़ंक्शन (ए) फ़ंक्शन परिभाषा: शून्य फ़ंक्शन (इंट ए) {स्टेटमेंट}

उदाहरण:

#include void add (int, int) void add (int x, int y) {int sum = x + y return (sum)} int main () {add (23, 31) return 0}

तर्क के साथ आगे बढ़ना और एक वापसी मूल्य

4 तर्क पारित और एक वापसी मूल्य

वाक्य - विन्यास:

समारोह घोषणा:

int फंक्शन (int) फंक्शन कॉल: function (a) फंक्शन डेफिनिशन: int function (int) {स्टेटमेंट्स} a

उदाहरण

निःशुल्क pl sql ऑनलाइन मुफ़्त सीखें
#include int add (int, int) int add (int x, int y) {int sum = x + y return (sum)} int main () {int sum = add (23, 31) प्रिंटफ ('% d') , योग) वापसी 0}

अब हम C लाइब्रेरी फ़ंक्शंस को जल्दी से देखते हैं जो प्रोग्राम लिखने के लिए महत्वपूर्ण हैं।

C लाइब्रेरी फ़ंक्शंस

लाइब्रेरी फ़ंक्शंस C में फ़ंक्शंस हैं जो पूर्व-परिभाषित हैं और डिफ़ॉल्ट रूप से मौजूद हैं। आपको बस प्रोग्राम में विशिष्ट हेडर फ़ाइल को शामिल करना है और आप उस हेडर फ़ाइल में परिभाषित फ़ंक्शन का उपयोग कर सकते हैं। प्रत्येक हेडर फ़ाइल विशिष्ट प्रकार की कार्यक्षमता प्रदान करती है। हेडर फ़ाइल का एक्सटेंशन .h है।

उदाहरण के लिए, प्रिंटफ / स्कैनफ फ़ंक्शन का उपयोग करने के लिए हमें अपने प्रोग्राम में stdio.h को शामिल करना होगा, जो मानक इनपुट / आउटपुट के बारे में कार्यक्षमता प्रदान करते हैं।

निम्नलिखित हैडर फाइलों की सूची।

एकstdio.hमानक इनपुट / आउटपुट हेडर फ़ाइल
minting.hकंसोल इनपुट / आउटपुट हेडर फ़ाइल
string.hस्ट्रिंग संबंधित लाइब्रेरी फ़ंक्शंस जैसे कि हो जाता है (), पुट (), आदि।
stdlib.hसामान्य पुस्तकालय कार्य जैसे मॉलॉक (), कॉलोक (), निकास (), आदि।
गणितगणित संचालन संबंधी कार्य जैसे कि sqrt (), pow (), आदि।
समयसमय संबंधी कार्य
ctype.hचरित्र हैंडलिंग कार्य
stdarg.hचर तर्क कार्य
संकेतसिग्नल हैंडलिंग कार्य
१०setjmp.hकूदने के कार्य
ग्यारहlocale.hस्थानीय कार्य
१२ग़लती सेकार्यों को संभालने में त्रुटि
१३assert.hनिदान कार्य

अब उपरोक्त C फ़ंक्शन के माध्यम से जाने के बाद आप फ़ंक्शन के प्रत्येक और प्रत्येक बारीकियों को समझ गए होंगे और सी भाषा में इसे कैसे लागू करेंगे। मुझे उम्मीद है कि यह ब्लॉग जानकारीपूर्ण है और आपके लिए मूल्य वर्धित है।

इस प्रकार हम 'फंक्शंस इन सी' पर इस लेख के अंत में आए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें एक विश्वसनीय ऑनलाइन शिक्षण कंपनी। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।