Functions in C programming | सी में फंकशन | Hindi


इस tutorial में हम C language में functions के बारे में समझेंगे । अभी तक C programming में यदि आपने program बनाए हैं बिना function के तो वहाँ पर यदि कोई code line की जरूरत कई जगह पड़ती हैं तब वहाँ पर दोबारा दोबारा कोड़ line लिखनी पड़ती हैं उसी समस्या को दूर करने और programming को बहुत आसान बनाने के लिए programmers का समय बचाने के लिए functions को बनाया जाता हैं जिसके द्वारा बार बार उपयोग में लाये जाने वाले कोड को function के block में लिख देते हैं जिससे उस कोड line को दोबारा दोबारा नही लिखना पड़ता हैं । 
चलिये C programming language में function को समझते हैं । 

Functions in C programming | Hindi 

Function statements का एक समूह है जो एक साथ एक कार्य करता है। साधारण हिन्दी भाषा में समझे तो 
किसी भी टास्क को पूरा करने के लिए हम functions बनाते हैं । या कह सकते हैं की कोड में कोई अलग तरह का काम के लिए functionality बनाने के लिए हम function बनाते हैं । किसी भी कार्य को पूरा करने के लिए, आप स्वयं(own) के function बना सकते हैं।
जब हम बड़े बड़े program बनाते हैं तो वहाँ पर program का कुछ टास्क का code lines या code बार बार repeat होता हैं जिसके कारण program की readability , performance और maintenance पर बहुत ज्यादा बुरा प्रभाव पड़ता हैं क्यूकी बार बार समान code लाइन को लिखने से एक तो programmer का बहुत समय जाता हैं और प्रोग्राम भी बहुत बड़ा हो जाता हैं अब ऐसा कुछ किया जाए की जो ये repeated कोड़ हैं उनको एक बार लिखा जाए और program में कही भी उपयोग में लाया जाए तो बस तब हम वहाँ पर function का उपयोग करते हैं । 
अन्य शब्दो में समझे तो function एक block of code होता हैं जिसकी मदत से program के specific task को पूरा करते हैं फंकशन को बस एक बार बनाना पड़ता हैं और function का उपयोग program में कही भी किया जा सकता हैं ।
यदि function का उपयोग करते हैं तो same task वाले code या code lines को बार बार लिखना नहीं पड़ता बस function के द्वारा reuse किया जा सकता हैं । 
चलिये जानते हैं C programming में functions के कितने प्रकार होते हैं । 

C programming में functions के प्रकार | Types of functions in C programming 

C programming में functions दो प्रकार के होते हैं । 
1.    Built-in functions (Library functions या readymade functions )
2.    User-defined functions 

चलिये अब इन दोनों functions के प्रकार के बारे में विस्तार से समझते हैं – 

1.   Built-in functions (Library functions या readymade functions ) in C programming :-

Built-in functions वे functions होते हैं जो पहले से ही बनाए गए हो जिनका सिर्फ उपयोग करने से किसी specific task को पूरा कर सकते हैं जैसे C programming में input करने के लिए scanf() और output display करने के लिए printf() function का उपयोग किया जाता हैं । Built-in fucntios को library functions भी कहते हैं क्यूकी ये सभी functions C library में पहले से available होते हैं जिनका काम किसी specific टास्क को पूरा करने का होता हैं । 
Built-in functions को readymade functions भी कहते हैं क्यूकी ये functions पहले से ही बने होते हैं बस हमे पता होना चाहिए की किस function का किस काम के लिए उपयोग किया जाता हैं तब हम उस function को उपयोग कर सकते हैं । 
C programming के developer ने पहले ही बहुत शारे functions को बना कर दिया हैं जिससे beginners को आसानी हो । 
किसी भी readymade function का उपयोग करने के लिए header file को अपने program में include करना होता हैं क्यूकी इसमे function की declaration दी हुई होती हैं । 
C program बनाते समय अलग अलग header file को include करना होता हैं जो की अलग अलग तरह के टास्क को पूरा करने के लिए functions का उपयोग करने मे मदत करती हैं । 

2.  User-defined functions in C language:- 

User-defined functions वे functions हैं जो किसी टास्क को पूरा करने के लिए programmer के द्वारा खुद बनाये जाते हैं । सरल शब्द में, user-defined functions प्रोग्रामर द्वारा उनकी आवश्यकताओं के अनुसार बनाये जाते हैं । C language में विभिन्न bult-in functions होते हैं और प्रोग्रामर खुद भी अपने functions बना सकते हैं । एक function statements (block of code,functionality) का एक ब्लॉक होता है जिसे किसी program में बार-बार इस्तेमाल किया जा सकता है। function execute (रन होना) होगा जब फ़ंक्शन को कॉल किया जाएगा (फंक्शन को कहाँ पर use करना हैं ) . 
जैसे की अब आप जानते ही हैं की built-in function की functionality या कह सकते हैं जो भी statements का group बनाया हैं function में किसी भी specific टास्क को पूरा करने के लिए तो तब वहाँ पर हम function की functionality को change या control नही कर सकते हैं क्यूकी built-in functions reserved हैं जिनको जिस काम के लिए बनाया गया हैं वह वो ही काम करेगा इसमे हम बदलाव नहीं कर सकते हैं बस C प्रोग्राम में जहां पर भी उपयोग करना हैं call कर सकते हैं परन्तु खुदके बनाए गए program को हम control भी कर सकते हैं यानिकी function की functionality या कह सकते हैं code lines को अपने अनुसार बादल सकते  हैं । User defined functions को समान तरीके से call कराया जाता हैं function को बनाने के बाद । जैसे built-in function में function को बनाना तो नही पड़ता क्यूकी पहले से बने होते हैं बस उनको call कराया जाता हैं । 
चलिये जानते हैं C language में function को कैसे declare किया जाता हैं । 

Function declaration & Definition in C  :-

जैसे हमने variables को declare करना सीखा था की पहले variables को declare करते हैं फिर उपयोग करते हैं ऐसे ही function का उपयोग या call करने के लिए function को पहले declare किया जाता हैं । 
C language में function को declare करने के लिए function word का उपयोग किया जाता हैं function के साथ function का नाम भी देना होता हैं ।  
Syntax – 
 

return_type function_name( parameters)
{
  block of code| Statements 
}


उपर दिये गए syntax में आप देख सकते हैं की  की हमने return type दिया और function का नाम दिया और parameters और {} open-close parenthesic को block of code कहा जाता हैं जिसमे सभी statements या कह सकते हैं किसी task को पूरा करने के लिए code lines लिखी होती हैं । 
चलिये return type को थोड़ा और समझते हैं । 

Function return type in C programming – 

Function को declare करने के बाद या कह सकते हैं function को बनाने के बाद function के नाम के द्वारा function को कॉल किया जाता हैं । जब function execute होता है और आखिर में जिस data type की वैल्यू फंक्शन return करता है उस data type को हम इस जगह लिखते है | जैसे int, float , double, char,   
यदि हम चाहते हैं की function कोई भी वैल्यू रिटर्न न करे तो वहाँ पर void डाटा type का उपयोग किया जाता हैं । 
तो इसे ही हम return टाइप कहते हैं ।

Function name – 

किसी भी function के नाम में reserved words का उपयोग नही किया जा सकता हैं । 
Reserved words या keywords के बारे में हमने tokens में पढ़ा था reserved words वे words होते हैं जो की किसी specific purpose के लिए पहले से ही C library में हैं । 
Program में जीतने भी functions होंगे सभी का नाम अलग अलग होना चाहिए । 
Program में किसी भी function का नाम function क्या करेगा मतलब function को किस टास्क के लिए बनाया गया हैं उस से संबन्धित नाम से रखे ताकि program को समझना आसान हो जाए । 

Calling a function in C language – 

Function declare या define करने के बाद यदि आप यह सोचते हैं की वह function खुद specific task को program में पूरा करेगा तो ऐसा नही होता हैं खाली function को बनाने के बाद उसकी सभी functionality को define करने के बाद यदि आपने function को कॉल नही किया तो function बनाने का कोई फाइदा नही होगा । 
function बनाने के बाद program में जहां पर भी function की जरूरत पड़ती हैं वहाँ पर function के नाम के द्वारा  फंकशन को कॉल किया जाता हैं । जैसे readymade functions में होता हैं वे functions पहले से c library में बने हुए हैं बस उनको call किया जाता हैं जिसके लिए program के top पर header file को include कराया जाता हैं फिर function को कॉल किया जाता हैं परन्तु user defined में function को main() फंकशन से पहले यानिकी हैडर files के बाद declare करते हैं जो की एक standard तरीका होता हैं वैसे तो function को program मे कही भी declare किया  जा सकता हैं  पर जो C programming का सही तरीका हैं की आप function को main() function से pahle declare करे ।  function बनाने के बाद बस function के नाम से function को call कर लिया जाता हैं C program में जीतनी बार भी जीतनी जगह भी function की जरूरत पड़ती हैं तो function को बस उसके नाम के द्वारा कॉल किया जाता हैं इसका फाइदा यह हुआ अब बार बार same कोड नही लिखना पड़ेगा । 

Function Arguments और parameters in C – 

सबसे पहले समझ लेते हैं की C प्रोग्राममिंग में फंकशन arguments और parameters में क्या अंतर हैं । 
Arguments वह values होती हैं जो function को कॉल करते समय declare की जाती  हैं जबकि parameter वह variables जो की function declare करते समय declare किया जाते हैं उन्हे parameters कहा जाता हैं । 

Function with parameters in C – 

return_type function_name( data_type variable1, data_type variable2, ... )
{
     // function body statements
         // Block of code
}

Function without parameters syntax 

return_type function_name()
{
     // function body statements
        // block of code
}

Function with arguments in C – 

Calling a function 

Function_name(variable1_value,variable2_value ...................); 

Function without arguments syntax – 

Function_name(); 


Functon को 2 तरह से call किया जाता हैं call by value और call by reference ।  call by reference को समझने के लिए आपको pointers के बारे में पता होना चाइए । 
इस tutorial में हम call by value से function calling सीखेंगे । 
चलिये उदाहरण से समझते हैं – 

Function with no return value and without parameters and arguments – 

#include <stdio.h>
void show(){ // declaration & definition of a function 
   printf("This is a function block of code.. \n"); 
} 
int main() {
    printf("This is a main function");
    show();  //calling a function with the same name of function 
    printf("This is another code line in main function \n");
     show();  // calling a function with the same name of function 
}

Output 
 

This is a main function
This is a function block of code.. 
This is another code line in main function 
This is a function block of code..


उपर दिये गए उदाहरण में हमने कोई भी return type और कोई  parameters और न कोई arguments हैं । 
main() फंकशन से पहले void show() एक function को declare करने के साथ साथ define भी किया हैं और main() function में हमने show() function को कॉल किया है वो भी दो बार इस तरह से जब भी प्रोग्राम रन होता हैं तो function के अंदर जो भी statements (code line ) हैं execute हो जाती हैं । इसमे कोई भी वैल्यू return नही करायी हैं । 
Function को अलग अलग declare और define कर सकते हैं ।

 Function declaration और definition in C programming – 

फंकशन को हम main फंकशन से पहले और header फ़ाइल के बाद declare करते हैं और function को main() function के बाद में define कर सकते हैं जैसे – 

#include <stdio.h>
void show(); // declaration of a function 
int main() {
    printf("This is a main function");
    show();  //calling a function with the same name of function 
    printf("This is another code line in main function \n");
     show();  // calling a function with the same name of function 
}
void show(){ // Definition of a function 
   printf("This is a function block of code.. \n"); 
}

Output – 

This is a main function
This is a function block of code.. 
This is another code line in main function 
This is a function block of code..

उपर दिये गए उदाहरण में हमने फंकशन को एक साथ main() फंकशन से पहले declare और define किया पर इसके अलावा function को अलग अलग भी declare और define कर सकते हैं । जो की उपर दिये गए उदाहरण से समझ  सकते हैं जिससे भी  समान output मिलता हैं । 

Function with no return value and without parameters और arguments 

#include <stdio.h>
void addition();
int main()
{
    addition();
    return 0;
}
void addition()
{
    int no1,no2,no3,sum;
 
    printf("Please,enter the first number: ");
    scanf("%d",&no1);
    printf("Please,enter the second Number : ");
    scanf("%d",&no2);
    printf("Please,enter third Number : ");
    scanf("%d",&no3);
    sum=no1+no2+no3;
    printf("Sum of three numbers : %d",sum);
}

Output -

Please,enter the first number: 4
Please,enter the second Number : 3
Please,enter third Number : 7
Sum of three numbers : 14

Function with no return value with parameters  and Arguments 

#include <stdio.h>
void addition(int x, int y, int z); // Parameters 
int main()
{
    int x,y,z;
 
    printf("Enter First Value : ");
    scanf("%d",&x);
    printf("Enter Second Value : ");
    scanf("%d",&y);
    printf("Enter Third Value : ");
    scanf("%d",&z);
    addition(x, y,z);   // Arguments 
    return 0;
}
 
void addition(int x, int y,int z)
{
    int sum;
 
    sum=x+y+z;
 
    printf("Total : %d",sum);
}

Output – 
 

Enter First Value : 20
Enter Second Value : 40
Enter Third Value : 50
Total : 110


उपर दिये गए उदाहरण में हमने function declaration के समय में ही तीन paramerts pass किया जो की हैं x,y,z और जब function call किया main() function के अंदर तब वहाँ पर arguments दिये जिसे हम run टाइम पर वैल्यू देना भी कहते हैं । ये वैल्यू user से input करायी गयी हैं । 
इसमे कोई भी वैल्यू function से return नही करायी गयी हैं । 
इससे उपर वाले फंकशन में हमने कोई भी parameters नही दिये थे । 

Function with return value without parameters और without arguments 

#include <stdio.h>
int addition();
int main()
{
    int sum;
    sum=addition();
    printf("Sum of three numbers : %d",sum);
  
}
 
int addition()
{
    int no1,no2,no3,sum;
 
    printf("Please,enter the first number: ");
    scanf("%d",&no1);
    printf("Please,enter the second Number : ");
    scanf("%d",&no2);
    printf("Please,enter third Number : ");
    scanf("%d",&no3);
    sum=no1+no2+no3;
    return sum; 
    
}

Output – 
 

Please,enter the first number: 4
Please,enter the second Number : 6
Please,enter third Number : 3
Sum of three numbers : 13


उपर दिये गए उदाहरण में हमने function से sum वैल्यू को return कराया और function calling टाइम पर variable में store करके sum वैल्यू को प्रिंट भी कराया । 
साधारण हिन्दी भाषा में समझे तो हमने एक C program बनाया यहाँ पर int addition() नाम से एक function declare किया क्यूकी यहाँ पर वैल्यू return करनी हैं तो void data type की जगह int data type लिया क्यूकी हुमे integer वैल्यू function से return करानी हैं । 
Function definition में हमने लास्ट में return keyword के द्वारा तीन numbers के sum को return किया । return keyword के बारे में हमने tokens में पढ़ा था । इस तरह से value function से return होती हैं उस वैल्यू को एक अन्य variable में स्टोर करके प्रिंट किया हैं । 

Function with return value parameters & arguments – 

चलिये इस उदाहरण से तीनों को एक साथ समझते हैं जिसमे function value return भी करेगा ,parameterrs और arguments भी पास होंगे ।  

#include <stdio.h>
int addition(int x, int y, int z); // Parameters 
int main()
{
    int x,y,z,sum;
    printf("Enter First Value : ");
    scanf("%d",&x);
    printf("Enter Second Value : ");
    scanf("%d",&y);
    printf("Enter Third Value : ");
    scanf("%d",&z);
    sum=addition(x, y,z);   // Arguments 
    printf("Total : %d",sum);
}
 
int addition(int x, int y,int z)
{
    int sum;
 
    sum=x+y+z;
    return sum ; // return Value 
 
    
}

Output – 

Enter First Value : 5
Enter Second Value : 7
Enter Third Value : 2
Total : 14

इस तरह से C programming language में function का उपयोग किया जाता हैं और अपनी जरूरतों के अनुसार पहले से बने functions जिन्हे built-in function कहते है उपयोग किया जा सकता हैं या अपने खुदके functions बना कर भी उपयोग किया जा सकता हैं जिससे C program की readability , performance और programmer का काफी समय भी बचता हैं । 
इस तरीके से C language में functions का उपयोग करते हैं ।
 


Please Share

Recommended Posts:-