SlideShare a Scribd company logo
Function C programming
 What is C function?
 Uses of C functions
 Types of C functions
◦ Library functions in C
◦ User defined functions in C
 Creating/Adding user defined function in C library
 C function declaration, function call and
definition with example program
 How to call C functions in a program?
◦ Call by value
◦ Call by reference
 C function arguments and return values
◦ C function with arguments and with return value
◦ C function with arguments and without return value
◦ C function without arguments and without return value
◦ C function without arguments and with return value
 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.
◦ 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.
 C functions can be classified into two
categories
◦ Library functions
◦ User-defined functions
◦ Library functions are not required to be written by
us
◦ printf and scanf belong to the category of library
function
Examples:
Printf(),scanf(),Sqrt(), cos(), strcat(),rand(), etc are
some of library functions
 Consider the following example.
#include <stdio.h>
#include <math.h>
main( )
{
float x,y ;
scanf("%f", &x);
y=sqrt(x);
printf("Square root of %f is %fn", x,y);
}
main() calls 3 built-in functions:
scanf(), sqrt() & printf()
 Every program must have a main function
 It is possible to code any program utilizing only main
function, it leads to a number of problems
 The program may become too large and complex and as a
result the task of debugging, testing, and maintaining
becomes difficult
 If a program is divided into functional parts, then each part
may be independently coded and later combined into a single
unit
 These subprograms called ‘functions’ are much easier to
understand, debug, and test
 There are times when some types of operation or
calculation is repeated at many points throughout a
program
 In such situations, we may repeat the program
statements whenever they are needed
 Another approach is to design a function that can
be called and used whenever required
 This saves both time and space
 Function declaration or prototype - 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.
Sno C Function aspects Syntax
1 Function definition return_type function_name(arguments list)
{ Body of function; }
2 function call function_name ( arguments list );
3 function declaration return_type function_name ( argument list
);
 Functions are classified as one of the derived data
types in C
 Can define functions and use them like any other
variables in C programs.
 Similarities between functions and variables in C
◦ Both function name and variable names are
considered identifiers and therefore they must adhere
to the rules for identifiers.
◦ Like variables, functions have types (such as int)
associated with them
◦ Like variables, function names and their types must
be declared and defined before they are used in a
program
 There are three elements related to functions
◦ Function definition
◦ Function call
◦ Function declaration
 The function definition is an independent program
module that is specially written to implement the
requirements of the function
 To use this function we need to invoke it at a required
place in the program. This is known as the function call.
 The program that calls the function is referred to as the
calling program or calling function.
 The calling program should declare any function that is
to be used later in the program. This is known as the
function declaration or function prototype.

 A function definition, also known as function implementation
shall include the following elements;
◦ Function name;
◦ Function type; Function header
◦ List of parameters;
◦ Local variable declaration;
◦ Function statements; and Function body
◦ A return statement.
 All six elements are grouped into two parts, namely,
◦ Function header (First three elements); and
◦ Function body (Second three elements)
return_type function_name(parameter list)
{
local variable declaration;
executable statement1;
executable statement2;
----------------
----------------
return(expression);
}
 The first line function_type function_name(parameter list) is
known as the function header.
 The statements within the opening and the closing brace
constitute the function body.
 Function Header
◦ The function header consists of three parts: the function type (also
known as return type), the function name and formal parameter list.
◦ Semicolon is not used at the end of the function header
 Name and Type
◦ The function type specifies the type of value (like float or double) that
the function id expected to return to the program calling the function
◦ If the return type is not explicitly specified, C assume it as an integer
type.
◦ If the function is not returning anything then we need to specify the
return type as void
◦ The function name is any valid C identifier and therefore ,just follow the
same rules of formation as other variable names in C
 The parameter list declares the variables that will receive the data sent
by the calling program.
 They serve as input data to the function to carry out the specified task.
 They represent actual input values, they are often referred to as formal
parameters.
 These parameters can also be used to send values to the calling
programs
 The parameter is known as arguments.
◦ float quadratic (int a, int b, int c) { ….. }
◦ double power (double x, int n) { ….. }
◦ int sum (int a, int b) { ….. }
 There is no semicolon after the closing parenthesis
 The declaration parameter variables cannot be combined
 To indicate that the parameter list is empty, we
use the keyword void between the parentheses as
in
void printline (void)
{
…
}
 Many compiler accept an empty set of parentheses
void printline()
 It is good to use void to indicate a nill parameter
list
 The function body contains the declarations and
statements necessary for performing the required
task. The body enclosed in braces, contains three
parts,
◦ Local declarations that specify the variables needed by the
function
◦ Function statements that perform the task of the function
◦ A return statement that returns the value evaluated by the
function
 If a function does not return any value, we can omit
the return statement.
 Its return type should be specified as void
 A function may or may not send back any value to the calling
function
 Done through return statement
 It is possible to send any number of values to the called function
 The called function can only return one value per call
 SYNTAX:
return;
or
return (expression);
 There are two ways that a C function can be called from a
program. They are,
◦ Call by value
◦ 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.
 Note:
◦ Actual parameter – This is the argument which is used in
function call.
◦ Formal parameter – This is the argument which is used in
function definition
 #include<stdio.h>
void swap(int a, int b); // function prototype, also called function declaration
int main()
{
int m = 22, n = 44;
printf(" values before swap m = %d nand n = %d", m, n);
swap(m, n); // calling swap function by value
}
void swap(int a, int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
printf(" nvalues after swap m = %dn and n = %d", a, b);
}
Output
values before swap m = 22 and n =44
values after swap m = 44 and n = 22
 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.
#include<stdio.h>
void swap(int *a, int *b); // function prototype, also called function declaration
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);
}
Output
values before swap m = 22 and n =44
values after swap m = 44 and n = 22
 C function with arguments (parameters) and with return value
 C function with arguments (parameters) and without return value
 C function without arguments (parameters) and without return value
 C function without arguments (parameters) and with return value
Sno C function C function
1 with arguments and with
return values
int function ( int ); // function declaration
function ( a ); // function call
int function( int a ) // function definition
{statements; return a;}
2 with arguments and without
return values
void function ( int ); // function declaration
function( a ); // function call
void function( int a ) // function definition
{statements;}
3 without arguments and without
return values
void function(); // function declaration
function(); // function call
void function() // function definition
{statements;}
4 without arguments and with
return values
int function ( ); // function declaration
function ( ); // function call
int function( ) // function definition
{statements; return a;}
Function C programming
Function C programming
Function C programming
Function C programming

More Related Content

What's hot (20)

Function overloading
Function overloadingFunction overloading
Function overloading
Selvin Josy Bai Somu
 
07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
Haresh Jaiswal
 
Presentation on Function in C Programming
Presentation on Function in C ProgrammingPresentation on Function in C Programming
Presentation on Function in C Programming
Shuvongkor Barman
 
Functions in c
Functions in cFunctions in c
Functions in c
sunila tharagaturi
 
User defined functions in C programmig
User defined functions in C programmigUser defined functions in C programmig
User defined functions in C programmig
Appili Vamsi Krishna
 
Decision Making Statement in C ppt
Decision Making Statement in C pptDecision Making Statement in C ppt
Decision Making Statement in C ppt
MANJUTRIPATHI7
 
Inter Thread Communicationn.pptx
Inter Thread Communicationn.pptxInter Thread Communicationn.pptx
Inter Thread Communicationn.pptx
SelvakumarNSNS
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
Nilesh Dalvi
 
Function in c
Function in cFunction in c
Function in c
Raj Tandukar
 
Conditional Statement in C Language
Conditional Statement in C LanguageConditional Statement in C Language
Conditional Statement in C Language
Shaina Arora
 
What is Switch Case?
What is Switch Case?What is Switch Case?
What is Switch Case?
AnuragSrivastava272
 
Control statements in c
Control statements in cControl statements in c
Control statements in c
Sathish Narayanan
 
This pointer
This pointerThis pointer
This pointer
Kamal Acharya
 
C if else
C if elseC if else
C if else
Ritwik Das
 
Methods in java
Methods in javaMethods in java
Methods in java
chauhankapil
 
C tokens
C tokensC tokens
C tokens
Manu1325
 
Constants in C Programming
Constants in C ProgrammingConstants in C Programming
Constants in C Programming
programming9
 
Inline function
Inline functionInline function
Inline function
Tech_MX
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
tanmaymodi4
 
C language unit-1
C language unit-1C language unit-1
C language unit-1
Malikireddy Bramhananda Reddy
 

Viewers also liked (14)

Difference between structure and union
Difference between structure and unionDifference between structure and union
Difference between structure and union
Appili Vamsi Krishna
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
Appili Vamsi Krishna
 
Pointers C programming
Pointers  C programmingPointers  C programming
Pointers C programming
Appili Vamsi Krishna
 
C language for Semester Exams for Engineers
C language for Semester Exams for Engineers C language for Semester Exams for Engineers
C language for Semester Exams for Engineers
Appili Vamsi Krishna
 
Storage classess of C progamming
Storage classess of C progamming Storage classess of C progamming
Storage classess of C progamming
Appili Vamsi Krishna
 
BE Aerospace Syllabus of MIT, Anna University R2015
BE Aerospace Syllabus of MIT, Anna University R2015BE Aerospace Syllabus of MIT, Anna University R2015
BE Aerospace Syllabus of MIT, Anna University R2015
Appili Vamsi Krishna
 
Arrays 1D and 2D , and multi dimensional
Arrays 1D and 2D , and multi dimensional Arrays 1D and 2D , and multi dimensional
Arrays 1D and 2D , and multi dimensional
Appili Vamsi Krishna
 
Handling of character strings C programming
Handling of character strings C programmingHandling of character strings C programming
Handling of character strings C programming
Appili Vamsi Krishna
 
Types of storage class specifiers in c programming
Types of storage class specifiers in c programmingTypes of storage class specifiers in c programming
Types of storage class specifiers in c programming
Appili Vamsi Krishna
 
Planers machine
Planers machinePlaners machine
Planers machine
Bilalwahla
 
Basics of Vhdl
Basics of VhdlBasics of Vhdl
Basics of Vhdl
Atchyuth Sonti
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
Amr Rashed
 
Function in C program
Function in C programFunction in C program
Function in C program
Nurul Zakiah Zamri Tan
 
Conventional machining vs. non conventional machining
Conventional machining vs. non conventional machiningConventional machining vs. non conventional machining
Conventional machining vs. non conventional machining
onlinemetallurgy.com
 
Difference between structure and union
Difference between structure and unionDifference between structure and union
Difference between structure and union
Appili Vamsi Krishna
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
Appili Vamsi Krishna
 
C language for Semester Exams for Engineers
C language for Semester Exams for Engineers C language for Semester Exams for Engineers
C language for Semester Exams for Engineers
Appili Vamsi Krishna
 
BE Aerospace Syllabus of MIT, Anna University R2015
BE Aerospace Syllabus of MIT, Anna University R2015BE Aerospace Syllabus of MIT, Anna University R2015
BE Aerospace Syllabus of MIT, Anna University R2015
Appili Vamsi Krishna
 
Arrays 1D and 2D , and multi dimensional
Arrays 1D and 2D , and multi dimensional Arrays 1D and 2D , and multi dimensional
Arrays 1D and 2D , and multi dimensional
Appili Vamsi Krishna
 
Handling of character strings C programming
Handling of character strings C programmingHandling of character strings C programming
Handling of character strings C programming
Appili Vamsi Krishna
 
Types of storage class specifiers in c programming
Types of storage class specifiers in c programmingTypes of storage class specifiers in c programming
Types of storage class specifiers in c programming
Appili Vamsi Krishna
 
Planers machine
Planers machinePlaners machine
Planers machine
Bilalwahla
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
Amr Rashed
 
Conventional machining vs. non conventional machining
Conventional machining vs. non conventional machiningConventional machining vs. non conventional machining
Conventional machining vs. non conventional machining
onlinemetallurgy.com
 
Ad

Similar to Function C programming (20)

Detailed concept of function in c programming
Detailed concept of function  in c programmingDetailed concept of function  in c programming
Detailed concept of function in c programming
anjanasharma77573
 
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
 
User_Defined_Functions_ppt_slideshare.
User_Defined_Functions_ppt_slideshare.User_Defined_Functions_ppt_slideshare.
User_Defined_Functions_ppt_slideshare.
NabeelaNousheen
 
Functions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothiFunctions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothi
Sowmya Jyothi
 
C functions by ranjan call by value and reference.pptx
C functions by ranjan call by value and reference.pptxC functions by ranjan call by value and reference.pptx
C functions by ranjan call by value and reference.pptx
ranjan317165
 
unit_2 (1).pptx
unit_2 (1).pptxunit_2 (1).pptx
unit_2 (1).pptx
JVenkateshGoud
 
user-definedfunctions-converted.pptx
user-definedfunctions-converted.pptxuser-definedfunctions-converted.pptx
user-definedfunctions-converted.pptx
ZaibunnisaMalik1
 
Function
FunctionFunction
Function
jayesh30sikchi
 
Unit 3 (1)
Unit 3 (1)Unit 3 (1)
Unit 3 (1)
Sowri Rajan
 
Functions
FunctionsFunctions
Functions
Munazza-Mah-Jabeen
 
unit_2.pptx
unit_2.pptxunit_2.pptx
unit_2.pptx
Venkatesh Goud
 
CH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptxCH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptx
sangeeta borde
 
Function (rule in programming)
Function (rule in programming)Function (rule in programming)
Function (rule in programming)
Unviersity of balochistan quetta
 
Functions
FunctionsFunctions
Functions
Golda Margret Sheeba J
 
eee2-day4-structures engineering college
eee2-day4-structures engineering collegeeee2-day4-structures engineering college
eee2-day4-structures engineering college
2017eee0459
 
programlama fonksiyonlar c++ hjhjghjv jg
programlama fonksiyonlar c++ hjhjghjv jgprogramlama fonksiyonlar c++ hjhjghjv jg
programlama fonksiyonlar c++ hjhjghjv jg
uleAmet
 
FUNCTIONS IN C.pptx
FUNCTIONS IN C.pptxFUNCTIONS IN C.pptx
FUNCTIONS IN C.pptx
SKUP1
 
FUNCTIONS IN C.pptx
FUNCTIONS IN C.pptxFUNCTIONS IN C.pptx
FUNCTIONS IN C.pptx
LECO9
 
User Defined Functionscccccccccccccccccccccccccc.pptx
User Defined Functionscccccccccccccccccccccccccc.pptxUser Defined Functionscccccccccccccccccccccccccc.pptx
User Defined Functionscccccccccccccccccccccccccc.pptx
233013812
 
Unit-III.pptx
Unit-III.pptxUnit-III.pptx
Unit-III.pptx
Mehul Desai
 
Detailed concept of function in c programming
Detailed concept of function  in c programmingDetailed concept of function  in c programming
Detailed concept of function in c programming
anjanasharma77573
 
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
 
User_Defined_Functions_ppt_slideshare.
User_Defined_Functions_ppt_slideshare.User_Defined_Functions_ppt_slideshare.
User_Defined_Functions_ppt_slideshare.
NabeelaNousheen
 
Functions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothiFunctions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothi
Sowmya Jyothi
 
C functions by ranjan call by value and reference.pptx
C functions by ranjan call by value and reference.pptxC functions by ranjan call by value and reference.pptx
C functions by ranjan call by value and reference.pptx
ranjan317165
 
user-definedfunctions-converted.pptx
user-definedfunctions-converted.pptxuser-definedfunctions-converted.pptx
user-definedfunctions-converted.pptx
ZaibunnisaMalik1
 
CH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptxCH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptx
sangeeta borde
 
eee2-day4-structures engineering college
eee2-day4-structures engineering collegeeee2-day4-structures engineering college
eee2-day4-structures engineering college
2017eee0459
 
programlama fonksiyonlar c++ hjhjghjv jg
programlama fonksiyonlar c++ hjhjghjv jgprogramlama fonksiyonlar c++ hjhjghjv jg
programlama fonksiyonlar c++ hjhjghjv jg
uleAmet
 
FUNCTIONS IN C.pptx
FUNCTIONS IN C.pptxFUNCTIONS IN C.pptx
FUNCTIONS IN C.pptx
SKUP1
 
FUNCTIONS IN C.pptx
FUNCTIONS IN C.pptxFUNCTIONS IN C.pptx
FUNCTIONS IN C.pptx
LECO9
 
User Defined Functionscccccccccccccccccccccccccc.pptx
User Defined Functionscccccccccccccccccccccccccc.pptxUser Defined Functionscccccccccccccccccccccccccc.pptx
User Defined Functionscccccccccccccccccccccccccc.pptx
233013812
 
Ad

Recently uploaded (20)

"Dictyoptera: The Order of Cockroaches and Mantises" Or, more specifically: ...
"Dictyoptera: The Order of Cockroaches and Mantises"  Or, more specifically: ..."Dictyoptera: The Order of Cockroaches and Mantises"  Or, more specifically: ...
"Dictyoptera: The Order of Cockroaches and Mantises" Or, more specifically: ...
Arshad Shaikh
 
CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...
CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...
CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...
Sritoma Majumder
 
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
Arshad Shaikh
 
"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx
Arshad Shaikh
 
Search Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website SuccessSearch Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website Success
Muneeb Rana
 
Odoo 18 Point of Sale PWA - Odoo Slides
Odoo 18 Point of Sale PWA  - Odoo  SlidesOdoo 18 Point of Sale PWA  - Odoo  Slides
Odoo 18 Point of Sale PWA - Odoo Slides
Celine George
 
How to Setup Lunch in Odoo 18 - Odoo guides
How to Setup Lunch in Odoo 18 - Odoo guidesHow to Setup Lunch in Odoo 18 - Odoo guides
How to Setup Lunch in Odoo 18 - Odoo guides
Celine George
 
POS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 SlidesPOS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 Slides
Celine George
 
SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...
SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...
SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...
RVSPSOA
 
Types of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo SlidesTypes of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo Slides
Celine George
 
Multicultural approach in education - B.Ed
Multicultural approach in education - B.EdMulticultural approach in education - B.Ed
Multicultural approach in education - B.Ed
prathimagowda443
 
Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...
Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...
Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...
wygalkelceqg
 
Coleoptera: The Largest Insect Order.pptx
Coleoptera: The Largest Insect Order.pptxColeoptera: The Largest Insect Order.pptx
Coleoptera: The Largest Insect Order.pptx
Arshad Shaikh
 
How to Manage Orders in Odoo 18 Lunch - Odoo Slides
How to Manage Orders in Odoo 18 Lunch - Odoo SlidesHow to Manage Orders in Odoo 18 Lunch - Odoo Slides
How to Manage Orders in Odoo 18 Lunch - Odoo Slides
Celine George
 
Diana Enriquez Wauconda - A Wauconda-Based Educator
Diana Enriquez Wauconda - A Wauconda-Based EducatorDiana Enriquez Wauconda - A Wauconda-Based Educator
Diana Enriquez Wauconda - A Wauconda-Based Educator
Diana Enriquez Wauconda
 
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar SirPHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
Diwakar Kashyap
 
Critical Thinking and Bias with Jibi Moses
Critical Thinking and Bias with Jibi MosesCritical Thinking and Bias with Jibi Moses
Critical Thinking and Bias with Jibi Moses
Excellence Foundation for South Sudan
 
State institute of educational technology
State institute of educational technologyState institute of educational technology
State institute of educational technology
vp5806484
 
Order Lepidoptera: Butterflies and Moths.pptx
Order Lepidoptera: Butterflies and Moths.pptxOrder Lepidoptera: Butterflies and Moths.pptx
Order Lepidoptera: Butterflies and Moths.pptx
Arshad Shaikh
 
LDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College VolumeLDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College Volume
LDM & Mia eStudios
 
"Dictyoptera: The Order of Cockroaches and Mantises" Or, more specifically: ...
"Dictyoptera: The Order of Cockroaches and Mantises"  Or, more specifically: ..."Dictyoptera: The Order of Cockroaches and Mantises"  Or, more specifically: ...
"Dictyoptera: The Order of Cockroaches and Mantises" Or, more specifically: ...
Arshad Shaikh
 
CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...
CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...
CBSE - Grade 11 - Mathematics - Ch 2 - Relations And Functions - Notes (PDF F...
Sritoma Majumder
 
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
Arshad Shaikh
 
"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx
Arshad Shaikh
 
Search Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website SuccessSearch Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website Success
Muneeb Rana
 
Odoo 18 Point of Sale PWA - Odoo Slides
Odoo 18 Point of Sale PWA  - Odoo  SlidesOdoo 18 Point of Sale PWA  - Odoo  Slides
Odoo 18 Point of Sale PWA - Odoo Slides
Celine George
 
How to Setup Lunch in Odoo 18 - Odoo guides
How to Setup Lunch in Odoo 18 - Odoo guidesHow to Setup Lunch in Odoo 18 - Odoo guides
How to Setup Lunch in Odoo 18 - Odoo guides
Celine George
 
POS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 SlidesPOS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 Slides
Celine George
 
SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...
SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...
SEM II 3202 STRUCTURAL MECHANICS, B ARCH, REGULATION 2021, ANNA UNIVERSITY, R...
RVSPSOA
 
Types of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo SlidesTypes of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo Slides
Celine George
 
Multicultural approach in education - B.Ed
Multicultural approach in education - B.EdMulticultural approach in education - B.Ed
Multicultural approach in education - B.Ed
prathimagowda443
 
Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...
Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...
Active Surveillance For Localized Prostate Cancer A New Paradigm For Clinical...
wygalkelceqg
 
Coleoptera: The Largest Insect Order.pptx
Coleoptera: The Largest Insect Order.pptxColeoptera: The Largest Insect Order.pptx
Coleoptera: The Largest Insect Order.pptx
Arshad Shaikh
 
How to Manage Orders in Odoo 18 Lunch - Odoo Slides
How to Manage Orders in Odoo 18 Lunch - Odoo SlidesHow to Manage Orders in Odoo 18 Lunch - Odoo Slides
How to Manage Orders in Odoo 18 Lunch - Odoo Slides
Celine George
 
Diana Enriquez Wauconda - A Wauconda-Based Educator
Diana Enriquez Wauconda - A Wauconda-Based EducatorDiana Enriquez Wauconda - A Wauconda-Based Educator
Diana Enriquez Wauconda - A Wauconda-Based Educator
Diana Enriquez Wauconda
 
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar SirPHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
Diwakar Kashyap
 
State institute of educational technology
State institute of educational technologyState institute of educational technology
State institute of educational technology
vp5806484
 
Order Lepidoptera: Butterflies and Moths.pptx
Order Lepidoptera: Butterflies and Moths.pptxOrder Lepidoptera: Butterflies and Moths.pptx
Order Lepidoptera: Butterflies and Moths.pptx
Arshad Shaikh
 
LDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College VolumeLDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College Volume
LDM & Mia eStudios
 

Function C programming

  • 2.  What is C function?  Uses of C functions  Types of C functions ◦ Library functions in C ◦ User defined functions in C  Creating/Adding user defined function in C library  C function declaration, function call and definition with example program  How to call C functions in a program? ◦ Call by value ◦ Call by reference  C function arguments and return values ◦ C function with arguments and with return value ◦ C function with arguments and without return value ◦ C function without arguments and without return value ◦ C function without arguments and with return value
  • 3.  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.
  • 4. ◦ 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.
  • 5.  C functions can be classified into two categories ◦ Library functions ◦ User-defined functions
  • 6. ◦ Library functions are not required to be written by us ◦ printf and scanf belong to the category of library function Examples: Printf(),scanf(),Sqrt(), cos(), strcat(),rand(), etc are some of library functions
  • 7.  Consider the following example. #include <stdio.h> #include <math.h> main( ) { float x,y ; scanf("%f", &x); y=sqrt(x); printf("Square root of %f is %fn", x,y); } main() calls 3 built-in functions: scanf(), sqrt() & printf()
  • 8.  Every program must have a main function  It is possible to code any program utilizing only main function, it leads to a number of problems  The program may become too large and complex and as a result the task of debugging, testing, and maintaining becomes difficult  If a program is divided into functional parts, then each part may be independently coded and later combined into a single unit  These subprograms called ‘functions’ are much easier to understand, debug, and test
  • 9.  There are times when some types of operation or calculation is repeated at many points throughout a program  In such situations, we may repeat the program statements whenever they are needed  Another approach is to design a function that can be called and used whenever required  This saves both time and space
  • 10.  Function declaration or prototype - 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. Sno C Function aspects Syntax 1 Function definition return_type function_name(arguments list) { Body of function; } 2 function call function_name ( arguments list ); 3 function declaration return_type function_name ( argument list );
  • 11.  Functions are classified as one of the derived data types in C  Can define functions and use them like any other variables in C programs.  Similarities between functions and variables in C ◦ Both function name and variable names are considered identifiers and therefore they must adhere to the rules for identifiers. ◦ Like variables, functions have types (such as int) associated with them ◦ Like variables, function names and their types must be declared and defined before they are used in a program
  • 12.  There are three elements related to functions ◦ Function definition ◦ Function call ◦ Function declaration  The function definition is an independent program module that is specially written to implement the requirements of the function  To use this function we need to invoke it at a required place in the program. This is known as the function call.  The program that calls the function is referred to as the calling program or calling function.  The calling program should declare any function that is to be used later in the program. This is known as the function declaration or function prototype.
  • 13.
  • 14.  A function definition, also known as function implementation shall include the following elements; ◦ Function name; ◦ Function type; Function header ◦ List of parameters; ◦ Local variable declaration; ◦ Function statements; and Function body ◦ A return statement.  All six elements are grouped into two parts, namely, ◦ Function header (First three elements); and ◦ Function body (Second three elements)
  • 15. return_type function_name(parameter list) { local variable declaration; executable statement1; executable statement2; ---------------- ---------------- return(expression); }  The first line function_type function_name(parameter list) is known as the function header.  The statements within the opening and the closing brace constitute the function body.
  • 16.  Function Header ◦ The function header consists of three parts: the function type (also known as return type), the function name and formal parameter list. ◦ Semicolon is not used at the end of the function header  Name and Type ◦ The function type specifies the type of value (like float or double) that the function id expected to return to the program calling the function ◦ If the return type is not explicitly specified, C assume it as an integer type. ◦ If the function is not returning anything then we need to specify the return type as void ◦ The function name is any valid C identifier and therefore ,just follow the same rules of formation as other variable names in C
  • 17.  The parameter list declares the variables that will receive the data sent by the calling program.  They serve as input data to the function to carry out the specified task.  They represent actual input values, they are often referred to as formal parameters.  These parameters can also be used to send values to the calling programs  The parameter is known as arguments. ◦ float quadratic (int a, int b, int c) { ….. } ◦ double power (double x, int n) { ….. } ◦ int sum (int a, int b) { ….. }  There is no semicolon after the closing parenthesis  The declaration parameter variables cannot be combined
  • 18.  To indicate that the parameter list is empty, we use the keyword void between the parentheses as in void printline (void) { … }  Many compiler accept an empty set of parentheses void printline()  It is good to use void to indicate a nill parameter list
  • 19.  The function body contains the declarations and statements necessary for performing the required task. The body enclosed in braces, contains three parts, ◦ Local declarations that specify the variables needed by the function ◦ Function statements that perform the task of the function ◦ A return statement that returns the value evaluated by the function  If a function does not return any value, we can omit the return statement.  Its return type should be specified as void
  • 20.  A function may or may not send back any value to the calling function  Done through return statement  It is possible to send any number of values to the called function  The called function can only return one value per call  SYNTAX: return; or return (expression);
  • 21.  There are two ways that a C function can be called from a program. They are, ◦ Call by value ◦ 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.  Note: ◦ Actual parameter – This is the argument which is used in function call. ◦ Formal parameter – This is the argument which is used in function definition
  • 22.  #include<stdio.h> void swap(int a, int b); // function prototype, also called function declaration int main() { int m = 22, n = 44; printf(" values before swap m = %d nand n = %d", m, n); swap(m, n); // calling swap function by value } void swap(int a, int b) { int tmp; tmp = a; a = b; b = tmp; printf(" nvalues after swap m = %dn and n = %d", a, b); } Output values before swap m = 22 and n =44 values after swap m = 44 and n = 22
  • 23.  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.
  • 24. #include<stdio.h> void swap(int *a, int *b); // function prototype, also called function declaration 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); } Output values before swap m = 22 and n =44 values after swap m = 44 and n = 22
  • 25.  C function with arguments (parameters) and with return value  C function with arguments (parameters) and without return value  C function without arguments (parameters) and without return value  C function without arguments (parameters) and with return value Sno C function C function 1 with arguments and with return values int function ( int ); // function declaration function ( a ); // function call int function( int a ) // function definition {statements; return a;} 2 with arguments and without return values void function ( int ); // function declaration function( a ); // function call void function( int a ) // function definition {statements;} 3 without arguments and without return values void function(); // function declaration function(); // function call void function() // function definition {statements;} 4 without arguments and with return values int function ( ); // function declaration function ( ); // function call int function( ) // function definition {statements; return a;}