C in Hindi : Functions

C Functions

  • Introduction to C functions in Hindi
  • C predefined & user defined functions in Hindi
  • Advantages of using C functions in Hindi
  • Creating & using C functions in Hindi

Introduction to C Functions 

कई बार आपके program में कुछ ऐसे statements हो सकते है जिन्हें आपको बार बार execute करवाने की आवश्यकता होती है। ऐसी situation में इन statements को बार बार लिखना आपके लिए time consuming भी हो सकता है और साथ ही program को lengthy और unreadable भी बनाता है। 

इस situation से बचने के लिए C आपको एक mechanism provide करती है जिसे function कहते है। जिन भी statements को आप program में कई जगह बार बार execute करवाना चाहते है उन्हें एक block में लिखते है और इस block को एक unique नाम देते है। इसके बाद program में जँहा भी इन statements को आप दुबारा execute करवाना चाहते है तो नाम के द्वारा उन statements को call कर लेते है। 

C में 2 तरह के functions होते है। इनके बारे में आप आगे जानेंगे।   

Function का नाम और parameters (इनके बारे में आप आगे पढ़ेंगे) जब आप लिखते है तो उसे function declaration कहा जाता है। जब आप function में execute होने वाले सभी statements लिखते है तो उसे function definition कहा जाता है। जब आप पुरे program में कँही भी function को यूज़ करते है तो उसे function call कहा जाता है।  

Predefined & User Defined Functions 

जैसा की मैने आपको पहले बताया C में 2 तरह के functions पाए जाते है। 
  • Predefined functions 
  • User defined functions 
आइये इनके बारे में detail से जानने का प्रयास करते है। 

Predefined Functions 

Predefined functions वो functions होते है जो C library में पहले से define किये गए है। इन function को पहले से ही declare और define किया गया होता है। बस आपको इन्हें use करने के लिए header files को include करना होता है। उदाहरण के लिए यदि आप अपने program में scanf और printf functions use करना चाहते है तो इसके लिए आप <stdio> header file को अपने program में include करते है। ये दोनों ही predefined functions होते है। Predefined functions के कुछ उदाहरण नीचे दिए जा रहे है। 
  • scanf 
  • printf
  • strcpy
  • vod *malloc()
  • int to lower() 


User Defined Functions 

User defined functions वो function होते है जो programmer खुद create करता है। Programmer अपनी need के according कितने भी functions create कर सकता है। ये functions कैसे create किये जाते है और कैसे use किये जाते है इसके बारे में आगे बताया जायेगा। 

Advantages of Functions 

  1. Functions create करने से programmer का time और computer की memory बचती है। 
  2. एक ही code को आसानी से बार बार use करने से re-usability बढ़ती है।
  3. Program functions में divide हो जाता है जिससे उसे आसानी से manage और debug किया जा सकता है। 
  4. Program की readability बढ़ती है। 

      

Creating & Using Functions in C 

C में functions create करना और उन्हें use करना बहुत ही आसान है। इस process के 3 major steps होते है।
  • Function declaration 
  • Function definition 
  • Function call 
इनमें से हर step को आगे detail से explain किया गया है। आइये इनके बारे में जानने का प्रयास करते है।

Function Declaration 

इस part में आप function का नाम, उसका return type और parameters define करते है। Function declaration का basic structure नीचे दिया गया है। 


return_type functionName (parameters_list);

  • return_type  -  आपका function execution complete होने पर किस प्रकार की value return करेगा ये आप return type के द्वारा define करते है। उदाहरण के लिए यदि आप एक addition का program बना रहे है जो 2 whole numbers को add करता है तो आपका return type int होगा। 
  • functionName  -  ये आपके function का नाम होता है। ये पुरे program में unique होना चाहिए। जब आप function को call करते है तो इस नाम को ही लिखते है। 
  • Parameters-list  -    ये उन variables की list होती है जो आप function को call करते समय pass करेंगे।  उदाहरण के लिए आप addition का function बना रहे है तो parameters में आप 2 numbers या 2 variables user से pass करवा सकते है। और फिर function के अंदर उन variables को add करके आप result show कर सकते है। इसका उदाहरण आगे दिया जायेगा।         
        
Function declaration का उदाहरण नीचे दिया जा रहा है। एक बात आपको हमेशा याद रखनी चाहिए की function declaration statement को आप semicolon से terminate करते है। लेकिन function definition के साथ ऐसा नहीं होता है। मान लीजिये की आप addition का function बनाने जा रहे है तो उसे आप इस प्रकार declare कर सकते है।

int add(int a, int b);  
   

Function Definition 

इस part को function body भी कहा जाता है। इसमें आप वो statements लिखते है जिन्हें आप execute करवाना चाहते है। Function definition का basic structure नीचे दिया जा रहा है।

return_type functionName (Parameters_list)
{

      statement 1;
      statement 2;
       .
       .
      statement n; 
  
}
   

Function definition में return_type, functionName और parameters list उसी प्रकार होते है जैसे की function declaration में होते है। इनके बाद में curly braces के block में वो statements दिए जाते है जो आप execute करवाना चाहते है। उदाहरण के लिए यदि आप addition का function बना रहे है तो उसकी definition आप इस प्रकार लिख सकते है।

int add(int a, int b)
{
    int c;
    c = a+b;
   
    return c;
    
}
    

Function Call

Program में जँहा भी आप function को use करवाना चाहते है तो उसे call करते है। Function call का basic structure इस प्रकार होता है। 

functionName(arguments_list); 

Parameters/argument_list  -  Arguments वो values होती है जो आप function को call करते समय pass करते है। ये values function definition के parameters को assign होती है। इसके बाद इन values पर processing होती है और result return किया जाता है। उदाहरण के लिए यदि आप addition के function को call करते समय 2 values पास करेंगे जैसे की 2 और 7 ।

ये values parameter variables a और b को assign हो जाएँगी और function के अंदर इन variables पर ही processing होती है। ऐसे functions जिनमें parameters define किये गए है और यदि आप function call करते समय arguments pass नहीं करते है तो program में error आती है।  
  
उदाहरण के लिए यदि आपने addition का function create किया है तो आप उसे इस प्रकार call कर सकते है।

add(2,7); 


C language में functions को 2 प्रकार से call किया जा सकता है। 
  • call by value 
  • call by reference 
इन दोनों तरह के function calls के बारे में आगे उदाहरण सहित बताया जाएगा। लेकिन उससे पहले C language में functions का एक उदाहरण दिया जा रहा है।  

Example 

C language में functions को use करने का एक simple उदाहरण निचे दिया जा रहा है। 

#include<stdio.h>

int add(int a, int b); /* function declaration */

int main()
{
   int result;
    printf("This is  addition program using function!\n");
    result = add(2,7);  /* function call */
    printf("Result is : %d", result);
 }

int add(int a, int b)  /* function definition */
{

     int c;
     c = a + b;
    
     return c;
}       

ऊपर दिया गया program निचे दिया गया output generate करता है। 

This is addition program using function!
Result is : 9 


Call by Value 

जब आप function को call करते समय कोई variable pass करते है तो असल में वह variable function में pass नहीं किया जाता है बल्कि उस variable की value parameter variable में copy की जाती है और उसके बाद उस parameter variable पर operations perform किये जाते है। 

उदाहरण के लिए यदि ऊपर दिए गए addition के function को call करते समय दो integer variables x और y pass किये जाएँ तो ऐसा करने पर उन दोनों variables की value parameter variables a और b में copy हो जायेगी और उन पर addition perform करके result return किया जाएगा। 

इस तरह के function call को call by value कहा जाता है। इसमें actual argument variables की value change नहीं होती है और जो भी operation होता है वह parameter variables पर ही perform होता है। इसका उदाहरण निचे दिया जा रहा है।

#include<stdio.h>

int add(int a, int b);

int main()
{
   int result;
   int x=5;
   int y=4;

   printf("This addition is performed using function call by value\n");

   result = add(x,y); //Call by value

   printf("Result is : %d",result);
}

int add(int a, int b)
{
    int c;
    c=a+b;
    return c;
}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।

This addition is performed using function call by value
Result is 9

Call by Reference 

किसी function को call करते समय actual argument variables pass करने की बजाय उनका address भी pass किया जा सकता है। ऐसा करने पर उन variables का address parameter variables में copy होगा और parameter variables memory में actual argument variables को ही point करेंगे। 

इस तरह के function call को call by reference कहा जाता है। इस तरह के function call में actual argument variables का address pass किया जाता है। ऐसा करने से function के अंदर यदि variables की values में changes आते है तो उससे actual arguments की values में भी changes आते है। यानी parameters में change आने पर arguments भी change हो जाते है। 

इस तरह के function call में arguments को address of operator (&) के साथ pass किया जाता है। यह operator arguments का address parameter variables को pass करता है। इसके अलावा function के declaration और definition में parameters को value at (*) operator के साथ define किया जाता है।

Function call by reference का उदाहरण निचे दिया जा रहा है। 

#include<stdio.h>

int add(int *s);  //Declaring add function with value at operator

int main()
{
    int s=2;

    printf("Call by Reference Demo\n");

    add(&s); //Calling add() function by reference

    printf("Sum is %d\n",s);
}

int add(int *s) //defining add function with
{
     *s = *s+2;
     return 0;
}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।

Call by Reference Demo
Sum is 4

      DMCA.com Protection Status