Upcoming SlideShare
×

Function in C

4,780 views

Published on

Function in C

3 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
4,780
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
516
0
Likes
3
Embeds 0
No embeds

No notes for slide

Function in C

1. 1. Function Abhineet Anand Center For Information Technology College of Engineering Studies UPES Dehradun, India November 18, 2013 Abhineet Anand Function
2. 2. Function Abhineet Anand Function
3. 3. Function Deﬁnition A Function is a self-contained block of statement that perform a coherent task of some kind. Abhineet Anand Function
4. 4. Function Deﬁnition A Function is a self-contained block of statement that perform a coherent task of some kind. 1 Every C Program can be thought of as a collection of these functions. 2 Function is a set of instruction to carryout a particular task. 3 Function after its execution returns a single value. 4 Generally, the function are classiﬁed into standard function and user-deﬁned functions. 5 The Standard function are also called library function or built-in function. 6 All standard function, such as sqrt(), abs(), log(), sin() etc. are provided in the library of function. 7 But, most of the application need other functions than those available in the software, those are known as user-deﬁned functions. Abhineet Anand Function
5. 5. Need of Function Abhineet Anand Function
6. 6. Need of Function Several advantages of modularizing a program into function includes: Reduction in code redundancy Enabling code reuse Better readability Information Hiding Improved debugging and testing Improved maintainability Abhineet Anand Function
7. 7. Need of Function Several advantages of modularizing a program into function includes: Reduction in code redundancy Enabling code reuse Better readability Information Hiding Improved debugging and testing Improved maintainability Function interact with each other to accomplish a particular task. They are classiﬁed according to the following criteria: Based upon who develop the function Based upon the number of arguments a function accepts. Abhineet Anand Function
8. 8. Classiﬁcation of Functions User-deﬁned function Deﬁned by user at the time of writing the program. There are three aspect of working with user-deﬁned functions: Function Declaration, also known as function prototype Function Deﬁnition Function use, also known as function call or function invocation Abhineet Anand Function
9. 9. Classiﬁcation of Functions User-deﬁned function Deﬁned by user at the time of writing the program. There are three aspect of working with user-deﬁned functions: Function Declaration, also known as function prototype Function Deﬁnition Function use, also known as function call or function invocation Declaration Introduces the function name, function return type, and function parameters to the program. The function body (statements)is not part of the declaration A function must be declared before it is used Abhineet Anand Function
10. 10. Classiﬁcation of Functions User-deﬁned function Deﬁned by user at the time of writing the program. There are three aspect of working with user-deﬁned functions: Function Declaration, also known as function prototype Function Deﬁnition Function use, also known as function call or function invocation Declaration Introduces the function name, function return type, and function parameters to the program. The function body (statements)is not part of the declaration A function must be declared before it is used return_type function_name(parameter_list); parameter_list: type param1,type param2,type param3, etc double sqrt(double); int func1(); Abhineet Anand Function
11. 11. Function Deﬁnition Function Deﬁnition Function Deﬁnition, also known as function implementation, means composing a function. Every Function deﬁnation consists of two Parts: Header of the function, Body of the function. Abhineet Anand Function
12. 12. Function Deﬁnition Function Deﬁnition Function Deﬁnition, also known as function implementation, means composing a function. Every Function deﬁnation consists of two Parts: Header of the function, Body of the function. return_type function_name(parameter_list){ // Function body } Abhineet Anand Function
13. 13. Function Deﬁnition Function Deﬁnition The general form of header of a function is: [return_type] function_name([parameter_list]) The header of function is not terminated with a semicolon. The body of a function consist of a set of statements enclosed within braces. The return statement is used to return the result of the computations done in the called function and/or to return the program control back to the calling function. A function can be deﬁned in any part of the program text or within a library. void print_func(){cout << hello world << endl;} Abhineet Anand Function
14. 14. Function Invocation/call/Use Function Invocation/call/Use Depending upon their inputs (i.e. parameters) and outputs, functions are classiﬁed as: Function with no input-output. Function with inputs and no output. Function with input and one output. Function with input and output. Abhineet Anand Function
15. 15. Function with no Input-Output Function with no Input-Output A function with no input-output does not accept any input and does not return any result. //Function with no input-output #include<stdio.h> printsum(); //Function deceleration main() //main function, the master function { printsum(); //Function Calling } printsum() //definition of function printsum { printf("Sum of 2 and 3 is %d",2+3); } Abhineet Anand Function
16. 16. Function with Input and No Output Function with Input and No Output A function can be made ﬂexible by adding input to it. //Function with input and No output #include<stdio.h> void printsum(int, int); //Function deceleration main() //main function, the master function { int a,b; printf("Enter values of a & bt"); scanf("%d %d", &a,&b); printsum(a,b); //Function Calling } printsum(int x, int y) //definition of function printsum { printf("Sum of %d and %d is %d",x,y,x+y); } Abhineet Anand Function
17. 17. Function with Input and No Output Function with Input and No Output The expression that appear within parenthesis of function call are known as actual arguments. The variable declared in the parameter list in the function header are known as formal parameters. The below-mentioned steps are followed when a function with input is invoked: 1 2 3 The Actual arguments expression are evaluated. The program control is transfered to the called function and the result of the evaluation of the actual argument expression are assigned to the formal parameters on one-to-one basis. The execution of the calling function is suspended and the called function starts execution. Abhineet Anand Function
18. 18. More Generalization of the previous example //Function with three input and No output #include<stdio.h> void printsum(int, int, char); //Function deceleration void main() //main function, the master function { int a,b; char base; printf("Enter values of a & bt"); scanf("%d %d", &a,&b); printf("Enter base of output(O, D or H)t"); flushall(); scanf("%c", &base); printsum(a, b, base); //Function Calling } Abhineet Anand Function
19. 19. More Generalization of the previous example void printsum(int { if(base=’O’) printf("Sum of %d if(base=’D’) printf("Sum of %d if(base=’H’) printf("Sum of %d } x, int y, char base) //definition of functi and %d in octal is %o",x,y,x+y); and %d in decimal is %d",x,y,x+y); and %d in hexadecimal is %X",x,y,x+y); Abhineet Anand Function
20. 20. Function with Input and One Output Function with Input and One Output The Result of the computation may be required in the calling function for further processing. The best software engineering practices suggest the following: 1 2 The developed functions should be kept as general as possible so that they can be used in diﬀerent situations. A function should receive inputs in the form of arguments and return the result of computation instead of directly printing it. A function should behave like a ’black box’ that receive inputs, and outputs the desired value. Abhineet Anand Function
21. 21. Function with Input and One Output Function with Input and One Output The Result of the computation may be required in the calling function for further processing. The best software engineering practices suggest the following: 1 2 The developed functions should be kept as general as possible so that they can be used in diﬀerent situations. A function should receive inputs in the form of arguments and return the result of computation instead of directly printing it. A function should behave like a ’black box’ that receive inputs, and outputs the desired value. return statement The return statement is used to return the result of the computations performed in the called function and/or transfer the program control back to the calling function. There are two forms of the return statement: 1 2 return, return expression. Abhineet Anand Function
22. 22. Function with Input and One Output Abhineet Anand Function
23. 23. Function with Input and Output Function with Input and Output More than one value can be indirectly returned to the calling function by making the use of Pointer. Pointers can also be used to pass arguments to a function. Depending upon whether the values or addresses(i.e. pointer) are passed as arguments to a function, the argument passing methods in C language are classiﬁed as: 1 2 Pass by value, Pass by address Abhineet Anand Function
24. 24. Function with Input and Output Passing Arguments by Value The method of passing arguments by value is also known as call by value. The value of actual argument are copied to the formal parameters of the function. If the argument are passed by value, the change made in the values of formal parameters inside the called function are not reﬂected back to the calling function. Abhineet Anand Function
25. 25. Function with Input and Output Abhineet Anand Function
26. 26. Function with Input and Output Passing Arguments by Address/Reference The method of passing arguments by address or reference is also known as call by Address or Call by reference. The address of the actual arguments are passed to the formal parameters of the function. If, the arguments are passed by reference, the change made in the values pointed to by the formal parameter in the called function are reﬂected back to the calling function. Abhineet Anand Function
27. 27. Function with Input and Output Abhineet Anand Function
28. 28. Function with Input and Output Abhineet Anand Function
29. 29. Passing Arrays to function Passing Arrays to function Like simple variable, arrays can also be passed to functions. There are two ways to pass array to function: Passing individual elements of an array one by one. Passing an Entire array at a time. Abhineet Anand Function
30. 30. Passing Arrays to function Passing Arrays to function Like simple variable, arrays can also be passed to functions. There are two ways to pass array to function: Passing individual elements of an array one by one. Passing an Entire array at a time. Passing individual element Passing individual element of an array one by one is similar to passing basic variables. The individual elements of an array can be passed either by value or by reference. Abhineet Anand Function
31. 31. Passing Arrays to function Passing Arrays to function Like simple variable, arrays can also be passed to functions. There are two ways to pass array to function: Passing individual elements of an array one by one. Passing an Entire array at a time. Passing individual element Passing individual element of an array one by one is similar to passing basic variables. The individual elements of an array can be passed either by value or by reference. Passing entire array at a time Passing entire array at a time is preferred way of passing arrays to functions. The entire array is always passed by reference. Abhineet Anand Function