Functions in c language

9,332 views 30 slides Aug 31, 2018
Slide 1
Slide 1 of 30
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30

About This Presentation

what are functions in c
importance of function in c
uses of function in c
syantax of function in c
program of function in c


Slide Content

Functions in C

Definition A function is a block of code that performs a particular task. Some situations when we need to write a particular block of code for more than once in our program: may lead to bugs and irritation for the programmer. C language provides an approach in which you need to declare and define a group of statements once and that can be called and used whenever required. Saves both time and space.

Example: Suppose, you have to check 3 numbers (781, 883 and 531) whether it is prime number or not. Without using function, you need to write the prime number logic 3 times. So, there is repetition of code. But if you use functions, you need to write the logic only once and you can reuse it several times.

Advantage of functions in C 1) Code Reusability By creating functions in C, you can call it many times. So we don't need to write the same code again and again. 2) Code optimization It makes the code optimized, we don't need to write much code.

Types of Functions

Types of Functions There are two types of functions in C programming: Library Functions : are the functions which are declared in the C header files such as scanf (), printf (), gets(), puts(), ceil(), floor() etc. You just need to include appropriate header files to use these functions.  User-defined functions : are the functions which are created by the C programmer, so that he/she can use it many times. It reduces complexity of a big program and optimizes the code.

Definition of a function Syntax:

Return Type  − A function may return a value. The  return_type  is the data type of the value the function returns. Some functions perform the desired operations without returning a value. In this case, the return_type is the keyword  void . Function Name  − This is the actual name of the function. The function name and the parameter list together constitute the function signature. Parameters  − A parameter is like a placeholder. When a function is invoked, you pass a value to the parameter. This value is referred to as actual parameter or argument. The parameter list refers to the type, order, and number of the parameters of a function. Parameters are optional; that is, a function may contain no parameters. Function Body  − The function body contains a collection of statements that define what the function does.

Example Given below is the source code for a function called  max() . This function takes two parameters num1 and num2 and returns the maximum value between the two − /* function returning the max between two numbers */ int max( int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; }

Return Value A C function may or may not return a value from the function. If you don't have to return any value from the function, use void for the return type. Example without return value:

If you want to return any value from the function, you need to use any data type such as int , long, char etc. The return type depends on the value to be returned from the function. Example with return value: In the above example, we have to return 10 as a value, so the return type is int.

If you want to return floating-point value (e.g. 10.2, 3.1, 54.5 etc), you need to use float as the return type of the method.

Parameters in C Function A c function may have 0 or more parameters. You can have any type of parameter in C program such as int , float, char etc. The parameters are also known as  formal arguments . Example of a function that has 0 parameter:

Example of a function that has 1 parameter: Example of a function that has 2 parameters:

Calling a function in C While creating a C function, you give a definition of what the function has to do. To use a function, you will have to call that function to perform the defined task. When a program calls a function, the program control is transferred to the called function. A called function performs a defined task and when its return statement is executed or when its function-ending closing brace is reached, it returns the program control back to the main program. To call a function, you simply need to pass the required parameters along with the function name, and if the function returns a value, then you can store the returned value.

Syntax: 1) variable:  The variable is not mandatory. If function return type is  void , you must not provide the variable because void functions doesn't return any value. 2) function_name :  The function_name is name of the function to be called. 3) arguments:  You need to provide arguments while calling the C function. It is also known as  actual arguments .

Example to call a function:

Example of C function with no return statement

Example of C function with return statement

Call by value and call by reference in C There are two ways to pass value or data to function in C language:  call by value  and  call by reference . Original value is not modified in call by value but it is modified in call by reference.

Call by value in C In call by value,  original value is not modified . In call by value, value being passed to the function is locally stored by the function parameter in stack memory location. If you change the value of function parameter, it is changed for the current function only. It will not change the value of variable inside the caller method such as main().

Example

Call by reference in C In call by reference,  original value is modified  because we pass reference (address). Here, address of the value is passed in the function, so actual and formal arguments shares the same address space. Hence, value changed inside the function, is reflected inside as well as outside the function.

Example:

Difference between call by value and call by reference in c

Recursion in C When  function is called within the same function , it is known as  recursion  in C. The function which calls the same function, is known as  recursive function . Syntax:

Rules for Recursive function Only the user-defined function can be involved in recursion.Library functions cannot be involved in recursion because their source code cannot be viewed. A recursive function saves return address with the intention to return at proper location when return to a calling function is made. To stop the recursive function,it is necessary to base the recursion on test condition,and proper terminating statement such as exit() or return must be written using the if() statement. The user-defined function main() can be invoked recursively.

Advantages of Recursion Although most problems can be solveed without recursion,but in some situations,it is must to use recursion.For eg , a program to display a list of all files of the system cannot be solved without recursion. Using recursion,the length of a program can be reduced.

Disadvantages of Recursion Requires extra storage space.For every recursive call,separate memory is allocated to variables with the same name. If the programmer forgets to specify the exit condition in the recursive function,the program will execute out of memory. Not efficient in execution speed and time.

Example #include< stdio.h >   #include< conio.h >   int  factorial ( int  n)   {           if  (n ==  1)             return  1; /*Terminating condition*/        return  (n * factorial (n -1));   }      void  main(){   int  fact=0;   clrscr ();   fact=factorial(5);   printf ("\n factorial of 5 is % d",fact );      getch ();   }