SlideShare a Scribd company logo
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

More Related Content

What's hot

Function in C Programming
Function in C ProgrammingFunction in C Programming
Function in C Programming
Anil Pokhrel
 
Function in c
Function in cFunction in c
Function in c
savitamhaske
 
Functions in C
Functions in CFunctions in C
Functions in C
Kamal Acharya
 
User defined functions in C
User defined functions in CUser defined functions in C
User defined functions in C
Harendra Singh
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
tanmaymodi4
 
Functions in c language
Functions in c languageFunctions in c language
Functions in c language
Tanmay Modi
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
Nilesh Dalvi
 
Function C programming
Function C programmingFunction C programming
Function C programming
Appili Vamsi Krishna
 
Dynamic Memory allocation
Dynamic Memory allocationDynamic Memory allocation
Dynamic Memory allocation
Grishma Rajput
 
Presentation on pointer.
Presentation on pointer.Presentation on pointer.
Presentation on pointer.
Md. Afif Al Mamun
 
Pointers, virtual function and polymorphism
Pointers, virtual function and polymorphismPointers, virtual function and polymorphism
Pointers, virtual function and polymorphism
lalithambiga kamaraj
 
Inline function
Inline functionInline function
Inline functionTech_MX
 
Function overloading(c++)
Function overloading(c++)Function overloading(c++)
Function overloading(c++)
Ritika Sharma
 
Inline Functions and Default arguments
Inline Functions and Default argumentsInline Functions and Default arguments
Inline Functions and Default arguments
Nikhil Pandit
 
Pointers in C Language
Pointers in C LanguagePointers in C Language
Pointers in C Language
madan reddy
 
Pointer in C
Pointer in CPointer in C
Pointer in C
Sonya Akter Rupa
 
Pointers in c++
Pointers in c++Pointers in c++
Pointers in c++
sai tarlekar
 
Functions in c
Functions in cFunctions in c
Functions in c
sunila tharagaturi
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ pptKumar
 

What's hot (20)

Function in C Programming
Function in C ProgrammingFunction in C Programming
Function in C Programming
 
Function in c
Function in cFunction in c
Function in c
 
Functions in C
Functions in CFunctions in C
Functions in C
 
User defined functions in C
User defined functions in CUser defined functions in C
User defined functions in C
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
 
Functions in c language
Functions in c languageFunctions in c language
Functions in c language
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
 
Function C programming
Function C programmingFunction C programming
Function C programming
 
Dynamic Memory allocation
Dynamic Memory allocationDynamic Memory allocation
Dynamic Memory allocation
 
Presentation on pointer.
Presentation on pointer.Presentation on pointer.
Presentation on pointer.
 
Pointers, virtual function and polymorphism
Pointers, virtual function and polymorphismPointers, virtual function and polymorphism
Pointers, virtual function and polymorphism
 
Strings
StringsStrings
Strings
 
Inline function
Inline functionInline function
Inline function
 
Function overloading(c++)
Function overloading(c++)Function overloading(c++)
Function overloading(c++)
 
Inline Functions and Default arguments
Inline Functions and Default argumentsInline Functions and Default arguments
Inline Functions and Default arguments
 
Pointers in C Language
Pointers in C LanguagePointers in C Language
Pointers in C Language
 
Pointer in C
Pointer in CPointer in C
Pointer in C
 
Pointers in c++
Pointers in c++Pointers in c++
Pointers in c++
 
Functions in c
Functions in cFunctions in c
Functions in c
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ ppt
 

Similar to Functions in C

functionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdffunctionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdf
mounikanarra3
 
C Programming Language Part 7
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7
Rumman Ansari
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
NagasaiT
 
Function in c
Function in cFunction 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
vekariyakashyap
 
Dti2143 chapter 5
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5alish sha
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
UMA PARAMESWARI
 
C function
C functionC function
C function
thirumalaikumar3
 
Recursion in C
Recursion in CRecursion in C
Recursion in Cv_jk
 
Presentation on function
Presentation on functionPresentation on function
Presentation on function
Abu Zaman
 
presentation_functions_1443207686_140676.ppt
presentation_functions_1443207686_140676.pptpresentation_functions_1443207686_140676.ppt
presentation_functions_1443207686_140676.ppt
SandipPradhan23
 
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
SangeetaBorde3
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
ssuser823678
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
ssuser2076d9
 
Functions.pptx, programming language in c
Functions.pptx, programming language in cFunctions.pptx, programming language in c
Functions.pptx, programming language in c
floraaluoch3
 
Classes function overloading
Classes function overloadingClasses function overloading
Classes function overloadingankush_kumar
 

Similar to 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
 
Function
FunctionFunction
Function
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
 
Function in c
Function in cFunction in c
Function in c
 
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
 
Functions.pptx, programming language in c
Functions.pptx, programming language in cFunctions.pptx, programming language in c
Functions.pptx, programming language in c
 
Classes function overloading
Classes function overloadingClasses function overloading
Classes function overloading
 

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); }