1
Function in C Language
2
1.What is C Function?
In short: A function is a group of statements that together
perform a task.
C functions are basic building blocks in a program.
A large C program is divided into basic building blocks
called C function. C function contains set of instructions
enclosed by “{ }” which performs specific operation in a C
program. Actually, Collection of these functions creates a C
program
3
Classification Of
Function
Library
function
User define
function
- main()
-printf()
-scanf()
-sqrt()
-getchar()
A large program in c can be divided to many subprogram
The subprogram posses a self contain components and have well define
purpose.
The subprogram is called as a function
Basically a job of function is to do something
C program contain at least one function which is main().
2. Types of C functions
4
Standard Library Functions:
Library functions in C language are inbuilt functions which are grouped together and placed in a
common place called library. Each library function in C performs specific operation.
The standard library functions are built-in functions in C programming to handle tasks such as
mathematical computations, I/O processing, string handling etc.
These functions are defined in the header file. When you include the header file, these functions
are available for use. For example:
➤ The printf() is a standard library function to send formatted output to the screen (display
output on the screen). This function is defined in "stdio.h" header file.
➤ There are other numerous library functions defined under "stdio.h", such as scanf(), printf(),
getchar() etc. Once you include "stdio.h" in your program, all these functions are available for
use.
User-defined Functions:
As mentioned earlier, C allow programmers to define functions. Such functions created by
the user are called user-defined functions.
Depending upon the complexity and requirement of the program, you can create as many
user-defined functions as you want.
5
 C functions are used to avoid rewriting same logic/code again
and again in a program.
 There is no limit in calling C functions to make use of same
functionality wherever required.
 We can call functions any number of times in a program and
from any place in a program.
 A large C program can easily be tracked when it is divided into
functions.
 The core concept of C functions are, re-usability, dividing a big
task into small pieces to achieve the functionality and to
improve understandability of very large C programs.
3. Uses of C functions:
6
4. Advantages of
function
It is much easier to write a structured program where a large
program can be divided into a smaller, simpler task.
Allowing the code to be called many times
Easier to read and update
It is easier to debug a structured program where there error is
easy to find and fix
7
C functions aspects syntax
function definition
Return_type function_name
(arguments list)
{ Body of function; }
function call function_name (arguments list);
function declaration
return_type function_name
(argument list);
There are 3 aspects in each C function. They are,
 Function declaration or prototype – this informs compiler about
the function name, function parameters and return value’s data
type.
 Function call - this calls the actual function
 Function definition – this contains all the statements to be
executed.
5. C function declaration, function call and function definition:
8
 As you know, functions should be declared and defined before calling in a C program.
 In the below program, function “square” is called from main function.
 The value of “m” is passed as argument to the function “square”. This value is multiplied by itself in this function
and multiplied value “p” is returned to main function from function “square”.
6. Simple Example Program for C Function:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
// function prototype, also called function declaration
float square ( float x );
// main function, program starts from here
int main( )
{
float m, n ;
printf ( "nEnter some number for finding square n");
scanf ( "%f", &m ) ;
// function call
n = square ( m ) ;
printf ( "nSquare of the given number %f is %f",m,n );
}
float square ( float x ) // function definition
{
float p ;
p = x * x ;
Enter some number for finding square 2
Square of the given number 2.000000 is
4.000000
Output:
Enter some number for finding square 4
Square of the given number 2.000000 is
16.000000
https://www.programiz.com/online-compiler/
4Cc8QE1mAphiO
9
7. How To Call C Functions In A Program?
There are two ways that a C function can be called from a program.
They are,
1.Call by value
2.Call by reference
1. Call By Value:
•In call by value method, the value of the variable is passed to the function as
parameter.
•The value of the actual parameter can not be modified by formal parameter.
•Different Memory is allocated for both actual and formal parameters. Because,
value of actual parameter is copied to formal parameter.
10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
// function prototype, also called function declaration
void swap(int a, int b);
int main()
{
int m = 22, n = 44;
// calling swap function by value
printf(" values before swap m = %d nand n = %d", m,
n);
swap(m, n);
}
void swap(int a, int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
values before swap m = 22
and n = 44
values after swap m = 44
and n = 22
 In this program, the
values of the
variables “m” and “n”
are passed to the
function “swap”.
 These values are
copied to formal
parameters “a” and
“b” in swap function
and used.
Example Program For C Function (Using Call By Value):
11
2. Call by reference:
•In call by reference method, the
address of the variable is passed to
the function as parameter.
•The value of the actual parameter
can be modified by formal
parameter.
•Same memory is used for both
actual and formal parameters since
only address is used by both
parameters
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h>
// function prototype, also called function declaration
void swap(int *a, int *b);
int main()
{
int m = 22, n = 44;
// calling swap function by reference
printf("values before swap m = %d n and n = %d",m,n);
swap(&m, &n);
}
void swap(int *a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
printf("n values after swap a = %d nand b = %d", *a, *b);
}
Example Program For C Function
(Using Call By Reference):
•In this program, the address of the
variables “m” and “n” are passed to
the function “swap”.
•These values are not copied to
formal parameters “a” and “b” in
swap function.
•Because, they are just holding the
address of those variables.
•This address is used to access and
change the values of the variables.
values before swap m = 22
and n = 44
values after swap a = 44
and b = 22
Output:
12
Thank You

C functions by ranjan call by value and reference.pptx

  • 1.
  • 2.
    2 1.What is CFunction? In short: A function is a group of statements that together perform a task. C functions are basic building blocks in a program. A large C program is divided into basic building blocks called C function. C function contains set of instructions enclosed by “{ }” which performs specific operation in a C program. Actually, Collection of these functions creates a C program
  • 3.
    3 Classification Of Function Library function User define function -main() -printf() -scanf() -sqrt() -getchar() A large program in c can be divided to many subprogram The subprogram posses a self contain components and have well define purpose. The subprogram is called as a function Basically a job of function is to do something C program contain at least one function which is main(). 2. Types of C functions
  • 4.
    4 Standard Library Functions: Libraryfunctions in C language are inbuilt functions which are grouped together and placed in a common place called library. Each library function in C performs specific operation. The standard library functions are built-in functions in C programming to handle tasks such as mathematical computations, I/O processing, string handling etc. These functions are defined in the header file. When you include the header file, these functions are available for use. For example: ➤ The printf() is a standard library function to send formatted output to the screen (display output on the screen). This function is defined in "stdio.h" header file. ➤ There are other numerous library functions defined under "stdio.h", such as scanf(), printf(), getchar() etc. Once you include "stdio.h" in your program, all these functions are available for use. User-defined Functions: As mentioned earlier, C allow programmers to define functions. Such functions created by the user are called user-defined functions. Depending upon the complexity and requirement of the program, you can create as many user-defined functions as you want.
  • 5.
    5  C functionsare used to avoid rewriting same logic/code again and again in a program.  There is no limit in calling C functions to make use of same functionality wherever required.  We can call functions any number of times in a program and from any place in a program.  A large C program can easily be tracked when it is divided into functions.  The core concept of C functions are, re-usability, dividing a big task into small pieces to achieve the functionality and to improve understandability of very large C programs. 3. Uses of C functions:
  • 6.
    6 4. Advantages of function Itis much easier to write a structured program where a large program can be divided into a smaller, simpler task. Allowing the code to be called many times Easier to read and update It is easier to debug a structured program where there error is easy to find and fix
  • 7.
    7 C functions aspectssyntax function definition Return_type function_name (arguments list) { Body of function; } function call function_name (arguments list); function declaration return_type function_name (argument list); There are 3 aspects in each C function. They are,  Function declaration or prototype – this informs compiler about the function name, function parameters and return value’s data type.  Function call - this calls the actual function  Function definition – this contains all the statements to be executed. 5. C function declaration, function call and function definition:
  • 8.
    8  As youknow, functions should be declared and defined before calling in a C program.  In the below program, function “square” is called from main function.  The value of “m” is passed as argument to the function “square”. This value is multiplied by itself in this function and multiplied value “p” is returned to main function from function “square”. 6. Simple Example Program for C Function: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include<stdio.h> // function prototype, also called function declaration float square ( float x ); // main function, program starts from here int main( ) { float m, n ; printf ( "nEnter some number for finding square n"); scanf ( "%f", &m ) ; // function call n = square ( m ) ; printf ( "nSquare of the given number %f is %f",m,n ); } float square ( float x ) // function definition { float p ; p = x * x ; Enter some number for finding square 2 Square of the given number 2.000000 is 4.000000 Output: Enter some number for finding square 4 Square of the given number 2.000000 is 16.000000 https://www.programiz.com/online-compiler/ 4Cc8QE1mAphiO
  • 9.
    9 7. How ToCall C Functions In A Program? There are two ways that a C function can be called from a program. They are, 1.Call by value 2.Call by reference 1. Call By Value: •In call by value method, the value of the variable is passed to the function as parameter. •The value of the actual parameter can not be modified by formal parameter. •Different Memory is allocated for both actual and formal parameters. Because, value of actual parameter is copied to formal parameter.
  • 10.
    10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include<stdio.h> // function prototype,also called function declaration void swap(int a, int b); int main() { int m = 22, n = 44; // calling swap function by value printf(" values before swap m = %d nand n = %d", m, n); swap(m, n); } void swap(int a, int b) { int tmp; tmp = a; a = b; b = tmp; values before swap m = 22 and n = 44 values after swap m = 44 and n = 22  In this program, the values of the variables “m” and “n” are passed to the function “swap”.  These values are copied to formal parameters “a” and “b” in swap function and used. Example Program For C Function (Using Call By Value):
  • 11.
    11 2. Call byreference: •In call by reference method, the address of the variable is passed to the function as parameter. •The value of the actual parameter can be modified by formal parameter. •Same memory is used for both actual and formal parameters since only address is used by both parameters 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include<stdio.h> // function prototype, also called function declaration void swap(int *a, int *b); int main() { int m = 22, n = 44; // calling swap function by reference printf("values before swap m = %d n and n = %d",m,n); swap(&m, &n); } void swap(int *a, int *b) { int tmp; tmp = *a; *a = *b; *b = tmp; printf("n values after swap a = %d nand b = %d", *a, *b); } Example Program For C Function (Using Call By Reference): •In this program, the address of the variables “m” and “n” are passed to the function “swap”. •These values are not copied to formal parameters “a” and “b” in swap function. •Because, they are just holding the address of those variables. •This address is used to access and change the values of the variables. values before swap m = 22 and n = 44 values after swap a = 44 and b = 22 Output:
  • 12.