SlideShare ist ein Scribd-Unternehmen logo
1 von 14
By: Shobhit Upadhyay
Functions
 A function is a self contained block of code that performs a
    particular task.
   Any C program can be seen as a collection/group of these
    functions.
   A functions takes some data as input, perform some
    operation on that data and then return a value.
   Any C program must contain at least one function, which is
    main().
   There is no limit on the number of functions that might be
    present in a C program.
 For ex.
       main()
       {
                message();
                printf(“I am in main”);
       }
       message()
       {
              printf(“I am in message”);
       }
Function Prototype
 All Identifiers in C must be declared before they are used. This is true
    for functions as well as variables.
   For functions, the declarations needs to be done before the first call of
    the function.
   A function declaration specifies the name, return type, and arguments
    of a function. This is also called the function prototype.
   To be a prototype, a function declaration must establish types for the
    function’s arguments.
   Having the prototype available before the first use of the function
    allows the compiler to check that the correct number and types of
    arguments are used in the function call.
 The prototype has the same syntax as the function
  definition, except that it is terminated by a semicolon
  following the closing parenthesis and therefore has no
  body.

 Although, functions that return int values do not require
  prototypes, prototypes are recommended.
Function Definition
 General form of any function definition is:
       return-type function-name(argument declarations)
       {
              declarations and statements
       }
 Return-type refers to the data type of the value being
  returned from the function. If the return type is omitted,
  int is assumed.
 The values provided to a function for processing are the
  arguments.
 The set of statements between the braces is called as the
  function body.
Arguments – Call by Value
 In C, all functions are passed “by value” by default.
 This means that the called function is given the values of its
  arguments in temporary variables rather than the originals.
 For ex.    main()
             {
                    int a=4,b=5;
                    sum(a,b);
                    printf(“Sum = %d”,a+b);
             }
             sum(int a,int b)
             {
                   a++;
                   b++;
                   printf(“Sum = %d”,a+b);
             }
Arguments – Call by Reference
 When necessary, it is possible to arrange a function which can modify a
  variable in a calling routine.
 The caller must provide the address of the variable to be set (generally, a
  pointer to a variable), and the called function must declare the parameter to
  be a pointer and access the variable indirectly through it.
 For ex:         main()
                 {
                          int a=4,b=5;
                          sum(&a,&b);
                          printf(“Sum = %d”,a+b);
                 }
                 sum(int *a,int *b)
                 {
                        (*a)++;
                        (*b)++;
                        printf(“Sum = %d”,(*a)+(*b));
                 }
Recursion
 Recursion defines a function in terms of itself.
 It is a programming technique in which a function calls
  itself.
 A recursive function calls itself repeatedly, with different
  argument values each time.
 Some argument values cause the recursive method to
  return without calling itself. This is the base case.
 Either omitting the base case or writing the recursion step
  incorrectly will cause infinite recursion (stack overflow
  error).
 Recursion to find the factorial of any number:
      int factorial(int x)
      {
            if(x<=1)
            return 1;
            else
            return(x*factorial(x-1));
      }
External Variables
 See the below example:
      main()
      {
            extern int a;
            printf(“Value of a = %d”,a);
      }
      int a=5;


Output: Value   of a = 5
Scope Rules
 Example:
       int num1 = 100;               //Global Scope
       static int num2 = 200;        //File Scope
       int main()
       {
             int num3 = 300;         //Local Scope
             if(num2>num1)
             {
                   int i=0;          //Block Scope
                   printf(“Value of i = %dn”,i++);
             }
             printf(“Value of num1 = %dn”,num1);
             printf(“Value of num2 = %dn”,num2);
             printf(“Value of num3 = %dn”,num3);
       }
Static Variables
 Example:
      static int min = 10;
      int setmax()
      {
             static int max =   100;
             return ++max;
      }
      main()
      {
             min++;
             printf(“Value of   max = %d”, setmax());
             printf(“Value of   max = %d”, setmax());
             printf(“Value of   min = %d”, min);
      }
Functions in C

Weitere ähnliche Inhalte

Was ist angesagt?

Call by value
Call by valueCall by value
Call by valueDharani G
 
Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programmingTejaswiB4
 
Dynamic memory allocation in c
Dynamic memory allocation in cDynamic memory allocation in c
Dynamic memory allocation in clavanya marichamy
 
Structures in c language
Structures in c languageStructures in c language
Structures in c languagetanmaymodi4
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).pptAlok Kumar
 
Constants in C Programming
Constants in C ProgrammingConstants in C Programming
Constants in C Programmingprogramming9
 
Function overloading(c++)
Function overloading(c++)Function overloading(c++)
Function overloading(c++)Ritika Sharma
 
User defined functions in C
User defined functions in CUser defined functions in C
User defined functions in CHarendra Singh
 
FUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPTFUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPT03062679929
 
Storage class in c
Storage class in cStorage class in c
Storage class in ckash95
 
Command line arguments
Command line argumentsCommand line arguments
Command line argumentsAshok Raj
 

Was ist angesagt? (20)

Function in C
Function in CFunction in C
Function in C
 
Control statements in c
Control statements in cControl statements in c
Control statements in c
 
Functions in c++
Functions in c++Functions in c++
Functions in c++
 
Call by value
Call by valueCall by value
Call by value
 
Strings in C
Strings in CStrings in C
Strings in C
 
Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programming
 
Pointers C programming
Pointers  C programmingPointers  C programming
Pointers C programming
 
Dynamic memory allocation in c
Dynamic memory allocation in cDynamic memory allocation in c
Dynamic memory allocation in c
 
Structure of a C program
Structure of a C programStructure of a C program
Structure of a C program
 
Structures in c language
Structures in c languageStructures in c language
Structures in c language
 
Function in c
Function in cFunction in c
Function in c
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
Constants in C Programming
Constants in C ProgrammingConstants in C Programming
Constants in C Programming
 
Function overloading(c++)
Function overloading(c++)Function overloading(c++)
Function overloading(c++)
 
User defined functions in C
User defined functions in CUser defined functions in C
User defined functions in C
 
Function
FunctionFunction
Function
 
Function in c
Function in cFunction in c
Function in c
 
FUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPTFUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPT
 
Storage class in c
Storage class in cStorage class in c
Storage class in c
 
Command line arguments
Command line argumentsCommand line arguments
Command line arguments
 

Ähnlich wie Functions in C

functionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdffunctionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdfmounikanarra3
 
C Programming Language Part 7
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7Rumman Ansari
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptxNagasaiT
 
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptxUnit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptxvekariyakashyap
 
Dti2143 chapter 5
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5alish sha
 
Recursion in C
Recursion in CRecursion in C
Recursion in Cv_jk
 
Presentation on function
Presentation on functionPresentation on function
Presentation on functionAbu Zaman
 
presentation_functions_1443207686_140676.ppt
presentation_functions_1443207686_140676.pptpresentation_functions_1443207686_140676.ppt
presentation_functions_1443207686_140676.pptSandipPradhan23
 
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxCH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxSangeetaBorde3
 
Classes function overloading
Classes function overloadingClasses function overloading
Classes function overloadingankush_kumar
 
An imperative study of c
An imperative study of cAn imperative study of c
An imperative study of cTushar B Kute
 
46630497 fun-pointer-1
46630497 fun-pointer-146630497 fun-pointer-1
46630497 fun-pointer-1AmIt Prasad
 

Ähnlich wie Functions in C (20)

functionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdffunctionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdf
 
C Programming Language Part 7
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
 
Function in c
Function in cFunction in c
Function in c
 
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptxUnit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
 
Functions
FunctionsFunctions
Functions
 
Dti2143 chapter 5
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
 
functions
functionsfunctions
functions
 
C function
C functionC function
C function
 
Recursion in C
Recursion in CRecursion in C
Recursion in C
 
Presentation on function
Presentation on functionPresentation on function
Presentation on function
 
presentation_functions_1443207686_140676.ppt
presentation_functions_1443207686_140676.pptpresentation_functions_1443207686_140676.ppt
presentation_functions_1443207686_140676.ppt
 
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxCH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
 
Classes function overloading
Classes function overloadingClasses function overloading
Classes function overloading
 
An imperative study of c
An imperative study of cAn imperative study of c
An imperative study of c
 
46630497 fun-pointer-1
46630497 fun-pointer-146630497 fun-pointer-1
46630497 fun-pointer-1
 
Array Cont
Array ContArray Cont
Array Cont
 

Functions in C

  • 2. Functions  A function is a self contained block of code that performs a particular task.  Any C program can be seen as a collection/group of these functions.  A functions takes some data as input, perform some operation on that data and then return a value.  Any C program must contain at least one function, which is main().  There is no limit on the number of functions that might be present in a C program.
  • 3.  For ex. main() { message(); printf(“I am in main”); } message() { printf(“I am in message”); }
  • 4. Function Prototype  All Identifiers in C must be declared before they are used. This is true for functions as well as variables.  For functions, the declarations needs to be done before the first call of the function.  A function declaration specifies the name, return type, and arguments of a function. This is also called the function prototype.  To be a prototype, a function declaration must establish types for the function’s arguments.  Having the prototype available before the first use of the function allows the compiler to check that the correct number and types of arguments are used in the function call.
  • 5.  The prototype has the same syntax as the function definition, except that it is terminated by a semicolon following the closing parenthesis and therefore has no body.  Although, functions that return int values do not require prototypes, prototypes are recommended.
  • 6. Function Definition  General form of any function definition is: return-type function-name(argument declarations) { declarations and statements }  Return-type refers to the data type of the value being returned from the function. If the return type is omitted, int is assumed.  The values provided to a function for processing are the arguments.  The set of statements between the braces is called as the function body.
  • 7. Arguments – Call by Value  In C, all functions are passed “by value” by default.  This means that the called function is given the values of its arguments in temporary variables rather than the originals.  For ex. main() { int a=4,b=5; sum(a,b); printf(“Sum = %d”,a+b); } sum(int a,int b) { a++; b++; printf(“Sum = %d”,a+b); }
  • 8. Arguments – Call by Reference  When necessary, it is possible to arrange a function which can modify a variable in a calling routine.  The caller must provide the address of the variable to be set (generally, a pointer to a variable), and the called function must declare the parameter to be a pointer and access the variable indirectly through it.  For ex: main() { int a=4,b=5; sum(&a,&b); printf(“Sum = %d”,a+b); } sum(int *a,int *b) { (*a)++; (*b)++; printf(“Sum = %d”,(*a)+(*b)); }
  • 9. Recursion  Recursion defines a function in terms of itself.  It is a programming technique in which a function calls itself.  A recursive function calls itself repeatedly, with different argument values each time.  Some argument values cause the recursive method to return without calling itself. This is the base case.  Either omitting the base case or writing the recursion step incorrectly will cause infinite recursion (stack overflow error).
  • 10.  Recursion to find the factorial of any number: int factorial(int x) { if(x<=1) return 1; else return(x*factorial(x-1)); }
  • 11. External Variables  See the below example: main() { extern int a; printf(“Value of a = %d”,a); } int a=5; Output: Value of a = 5
  • 12. Scope Rules  Example: int num1 = 100; //Global Scope static int num2 = 200; //File Scope int main() { int num3 = 300; //Local Scope if(num2>num1) { int i=0; //Block Scope printf(“Value of i = %dn”,i++); } printf(“Value of num1 = %dn”,num1); printf(“Value of num2 = %dn”,num2); printf(“Value of num3 = %dn”,num3); }
  • 13. Static Variables  Example: static int min = 10; int setmax() { static int max = 100; return ++max; } main() { min++; printf(“Value of max = %d”, setmax()); printf(“Value of max = %d”, setmax()); printf(“Value of min = %d”, min); }