UNIT - 4 FUNCTIONS AND POINTERS. FUNCTION Functions is a sub-program that contains one or more statements and it performs some task when called.

Slides:



Advertisements
Similar presentations
Spring Semester 2013 Lecture 5
Advertisements

What is a pointer? First of all, it is a variable, just like other variables you studied So it has type, storage etc. Difference: it can only store the.
BBS514 Structured Programming (Yapısal Programlama)1 Functions and Structured Programming.
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
1 ICS103 Programming in C Lecture 5: Introduction to Functions.
Chapter 6: User-Defined Functions I
C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 6: User-Defined Functions I.
1 Functions and Structured Programming. 2 Structured Programming Structured programming is a problem-solving strategy and a programming methodology. –The.
Chapter 6: User-Defined Functions I
12-2 Know how if and switch C statements control the sequence of execution of statements. Be able to use relational and logical operators in the conditional.
Data Structure and C Part-6. Naming a Function Any valid variable-name can be given to the user-defined function. The main program itself is considered.
Functions in C Computer Programming(1)- 1090CS Manesh T
 Introduction Introduction  Types of Function Types of Function  Library function Library function  User defined function User defined function 
Chapter 6: User-Defined Functions I Instructor: Mohammad Mojaddam
MAHENDRAN CHAPTER 6. Session Objectives Explain Type of Functions Discuss category of Functions Declaration & Prototypes Explain User Defined Functions.
FUNCTIONS. C function can be classified into two categories, namely, library functions and user – defined functions. main is an example of user – defined.
Functions Why we use functions C library functions Creating our own functions.
PASSING VALUE TO A FUNCTION # CALL BY VALUECALL BY VALUE # CALL BY REFERENCECALL BY REFERENCE STORAGE CLASS # AUTOAUTO # EXTERNALEXTERNAL # STATICSTATIC.
STANDARD FUNCTIONS Computer Programming Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Functions Manesh T 2 Chapter Topics Define Function Standard (Predefined) Functions User-Defined Functions Parts of functions.
USER-DEFINED FUNCTIONS. STANDARD (PREDEFINED) FUNCTIONS  In college algebra a function is defined as a rule or correspondence between values called the.
FUNCTIONS AND STRUCTURED PROGRAMMING CHAPTER 10. Introduction A c program is composed of at least one function definition, that is the main() function.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 6: User-Defined Functions I.
Chapter 6 User-Defined Functions I. Objectives Standard (predefined) functions What are they, and How to use them User-Defined Functions Value returning.
19&20-2 Know how to declare pointer variables. Understand the & (address) and *(indirection) operators. Dynamic Memory Allocation Related Chapter: ABC.
CHAPTER 5 FUNCTIONS I NTRODUCTION T O C OMPUTER P ROGRAMMING (CSC425)
UniMAP SemI-09/10EKT120: Computer Programming1 Week 5 – Functions (1)
User defined functions
FUNCTIONS A function is a set of instructions that can perform a specific task accordingly. A function is a program that performs a specific task according.
Definition of function Types of Function Built-in User Defined Catagories of Function No argument No return value Argument but No return value No argument.
CHAPTER 10 ARRAYS AND FUNCTIONS Prepared by: Lec. Ghader Kurdi.
© Oxford University Press All rights reserved. CHAPTER 7 POINTERS.
CHAPTER 6 USER-DEFINED FUNCTIONS I. In this chapter, you will: Learn about standard (predefined) functions and discover how to use them in a program Learn.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 6: User-Defined Functions I.
CHAPTER 6 USER-DEFINED FUNCTIONS Made By- Kartik Belwal.
FUNCTION Functions is a sub-program that contains one or more statements and it performs some task when called.
1 ICS103 Programming in C Lecture 8: Functions I.
EC201- FUNCTIONS CONTROL STATEMENT DTK, JKE, PTSB (V 10.12)
Chapter 3: User-Defined Functions I
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 6: User-Defined Functions I.
Functions Structured Programming. Topics to be covered Introduction to Functions Defining a function Calling a function Arguments, local variables and.
USING & CREATING FUNCTIONS. MODULAR PROGRAMMING  Why Modular Programming?  Improves Readability & Understandability  Improve Maintainability  Allows.
1 Pointers: Parameter Passing and Return. 2 Passing Pointers to a Function Pointers are often passed to a function as arguments  Allows data items within.
POINTERS IN C Pointer Basics, Pointer Arithmetic, Pointer to arrays and Pointer in functions.
Recursion It is a process of calling the same function itself again and again until some condition is satisfied. Syntax: func1() { ……….. func1(); }
Dale Roberts CSCI N305 Functions Declarations Department of Computer and Information Science, School of Science, IUPUI.
UNIT - 3 ARRAYS AND STRINGS. Array An Array is a collection of similar data items, that are stored under a common name. Types –One-Dimensional array –Two-Dimensional.
FUNCTIONS (C) KHAERONI, M.SI. OBJECTIVE After this topic, students will be able to understand basic concept of user defined function in C++ to declare.
DYNAMIC MEMORY ALLOCATION. Disadvantages of ARRAYS MEMORY ALLOCATION OF ARRAY IS STATIC: Less resource utilization. For example: If the maximum elements.
UNIT - 5 FUNCTIONS AND POINTERS. FUNCTION Functions is a sub-program that contains one or more statements and it performs some task when called.
Chapter 9: Value-Returning Functions
User-Written Functions
Chapter 4 Function and Structure.
Chapter 6: User-Defined Functions I
FUNCTION Functions is a sub-program that contains one or more statements and it performs some task when called.
CSC215 Lecture Advanced Pointers.
TMF1414 Introduction to Programming
Functions, Part 2 of 2 Topics Functions That Return a Value
FUNCTIONS.
C-language Lecture By B.S.S.Tejesh, S.Neeraja Asst.Prof.
User-Defined Functions
Functions Dr. Ashish Sasankar. In programming, a function is a segment that groups code to perform a specific task. A C program has at least one function.
Formatted and Unformatted Input/Output Functions
FUNCTIONS AND POINTERS
Chapter 6: User-Defined Functions I
In C Programming Language
Functions Imran Rashid CTO at ManiWeber Technologies.
CPS125.
Presentation transcript:

UNIT - 4 FUNCTIONS AND POINTERS

FUNCTION Functions is a sub-program that contains one or more statements and it performs some task when called.

Types Functions User-Defined Functions Pre-Defined Functions

Pre-Defined Functions The pre-defined functions or library functions are built-in functions. The user can use the functions, but cannot modify the function. Example: sqrt()

User-Defined Functions The functions defined by the user for their requirement are called user-defined functions. Whenever it is needed, The user can modify the function. Example: sum(a,b)

Advantage of User-Defined Functions The length of the source program can be reduced. It is easy to locate error. It avoid coding of repeated instructions.

Elements of User-Defined Function Function declaration Function definition Function call

Function Syntax datatype function_name (parameters list) { local variable declaration; ………………………… body of the function; ………………………… return(expression); }

How Function Works Once a function is called the control passes to the called function. The working of calling function is temporarily stopped. When the execution of called function is completed then the control return back to the calling function and execute the next statement.

Parameters Actual Parameter These are the parameters transferred from the calling function to the called function. Formal Parameter These are the parameters which is used in the called function.

return Statement The return statement may or may not send some values to the calling function. Syntax: return; (or) return(expression);

Function Prototypes Function with no arguments and no return values. Function with arguments and no return values. Function with arguments and return values. Function with no arguments and with return values.

Function with no arguments and no return values Here no data transfer take place between the calling function and the called function. These functions act independently, i.e. they get input and display output in the same block.

Example #include void main() //calling function { void add(void); add(); } void add()//called function { int a,b,c; printf("\nEnter two number:"); scanf("%d%d",&a,&b); c=a+b; printf("\nSum is:%d",c); }

Output Enter two number:3 4 Sum is:7

Function with arguments and no return values Here data transfer take place between the calling function and the called function. It is a one way data communication, i.e. the called program receives data from calling program but it does not return any value to the calling program.

Example #include void main() { int a,b; void add(int,int); printf("\nEnter two number:"); scanf("%d%d",&a,&b); add(a,b); } void add(int x,int y) //function with arguments { int z; z=x+y; printf("\nSum is:%d",z); }

Output Enter two number:2 4 Sum is:6

Example #include void main() { int a,b; void add(int a,int b); printf("\nEnter two number:"); scanf("%d%d",&a,&b); add(a,b); } void add(int x,int y) //function with arguments { int z; z=x+y; printf("\nSum is:%d",z); }

Output Enter two number:2 4 Sum is:6

Function with arguments and return values Here data transfer take place between the calling function and the called function as well as between called function and calling function. It is a two way data communication, i.e. the called program receives data from calling program and it return some value to the calling program.

Example #include void main() { int a,b,c; int add(int,int); printf("\nEnter two number:"); scanf("%d%d",&a,&b); c=add(a,b); printf("\nSum is:%d",c); } int add(int x,int y) { int z; z=x+y; return(z); }

Output Enter two number:6 7 Sum is:13

Function with no arguments and with return values Here data transfer take place between the called function and the calling function. It is a one way data communication, i.e. the called program does not receives data from calling program but it return some value to the calling program.

#include void main() { int add(),d; d=add(); printf("\nSum is:%d",d); } int add() //function wit no argument { int a,b,c; printf("\nEnter two number:"); scanf("%d%d",&a,&b); c=a+b; return(c); }

Output Enter two number:5 8 Sum is:13

Parameter Passing Methods Call by value Call by reference

Call by value Actual argument passed to the formal argument. Any changes to the formal argument does not affect the actual argument.

Example #include void main() { int x,y,change(int,int); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);

change(x,y); printf("\n\nValues in the Main()-->x=%d,y=%d",x,y); } int change(int a,int b) { int c; c=a; a=b; b=c; printf("\nValues in the Fuction -->x=%d,y=%d",a,b); }

Output Enter value of x:5 Enter value of y:6 Values in the Fuction -->x=6,y=5 Values in the Main()-->x=5,y=6

Call by reference Instead of passing value, the address of the argument will be passed. Any changes to the formal argument will affect the actual argument.

Example #include void main() { int x,y,change(int*,int*); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);

change(&x,&y); printf("\n\nValues in the Main()-->x=%d,y=%d",x,y); } int change(int *a,int *b) { int c; c=*a; *a=*b; *b=c; printf("\nValues in the Function -->x=%d,y=%d",*a,*b); }

Output Enter value of x:5 Enter value of y:6 Values in the Function -->x=6,y=5 Values in the Main()-->x=6,y=5

Recursion It is a process of calling the same function itself again and again until some condition is satisfied. Syntax: func1() { ……….. func1(); }

Example #include void main() { int a; int rec(int); printf("\nEnter the number:"); scanf("%d",&a); printf("The factorial of %d! is %d",a,rec(a)); }

int rec(int x) { int f; if(x==1) return(1); else f=x*rec(x-1); return(f); } Output: Enter the number:5 The factorial of 5! is 120

Example: Working of 3!

Tower of Honoi

Library Function It is pre-defined function. The library function provides functions like mathematical, string manipulation etc,.

Example sqrt(x): It is used to find the square root of x Example: sqrt(36) is 6 abs(x): It is used to find the absolute value of x Example: abs(-36) is 36 pow(x,y): It is used to find the value of x y Example: pow(5,2) is 25 ceil(x): It is used to find the smallest integer greater than or equal to x Example: ceil(7.7) is 8

rand(): It is used to generate a random number. sin(x): It is used to find the sine value of x Example: sin(30) is 0.5 cos(x): It is used to find the cosine value of x Example: cos(30) is 0.86 tan(x): It is used to find the tan value of x Example: tan(30) is 0.577

toascii(x): It is used to find the ASCII value of x Example: toascii(a) is 97 toupper(x): It is used to convert lowercase character to uppercase. Example: toupper(‘a’) is A toupper(97) is A tolower(x): It is used to convert uppercase character to lowercase. Example: tolower(‘A’) is a

Example: #include void main() { int x,y=2; printf("\nEnter the number:"); scanf("%d",&x); printf("\nThe squareroot of %d is %f",x,sqrt(x)); printf("\nThe value of %d power%dis%f ",x,y,pow(6,2));

printf("\nThe ceiling of 6.7 is %f",ceil(6.7)); printf("\nThe floor of 6.7 is %f",floor(6.7)); printf("\nThe absolute value of -6 is %d",abs(-6)); printf("\nThe value of sin 45 is %f",sin(45)); printf("\nThe uppercase of 'a' is %c",toupper('a')); printf("\nThe uppercase of 97 is %c",toupper(97)); getch(); }

Output: Enter the number:6 The squareroot of 6 is The value of 6 power 2 is The ceiling of 6.7 is The floor of 6.7 is The absolute value of -6 is 6 The value of sin 45 is The uppercase of 'a' is A The uppercase of 97 is A

Pointers Pointer is a variable that contains the memory address of another variable.

Example: x=5 x Variable 1002 Address 5 Value

Example #include void main() { int x=5; printf("\n The Address of x = %u",&x); printf("\n The Value of x = %d",x); } Output The Address of x = 8714 The Value of x = 5

Pointer Declaration Syntax data-type *pointer-name; data-type - Type of the data to which the pointer points. pointer-name - Name of the pointer Example: int *a;

Accessing Variable through Pointer If a pointer is declared and assigned to a variable, then the variable can be accessed through the pointer. Example: int *a; x=5; a=&x;

Example #include void main() { int x=5; int *a; a=&x; printf("\n The Value of x = %d",x); printf("\n The Address of x = %u",&x); printf("\n The Value of a = %d",a); printf("\n The Value of x = %d",*a); }

Output The Value of x = 5 The Address of x = 8758 The Value of a = 8758 The Value of x = 5

Example: #include void main() { int y=10; int *a; a=&y; printf("\n The Value of y = %d",y); printf("\n The Address of y = %u",&y); printf("\n The Value of a = %d",a); printf("\n The Address of a = %u",&a); }

ay 5001 Variable Value Address

Output The Value of y = 10 The Address of y = 5001 The Value of a = 5001 The Address of a = 8000

Null Pointer A pointer is said to be null pointer if zero is assigned to the pointer. Example int *a,*b; a=b=0;

Pointer to Pointer Here one pointer stores the address of another pointer variable. Example: int x=10,*a,**b; a=&x; b=&a;

ax 5001 Variable Value Address b

Example #include void main() { int a=10; int *b,**c; b=&a; c=&b; printf("\n The Value of a = %d",a); printf("\n The Address of a = %u",&a); printf("\n The Value of b = %d",b); printf("\n The Address of b = %u",&b); printf("\n The Value of c = %d",c); printf("\n The Address of c = %u",&c); }

Output The Value of a = 10 The Address of a = 5001 The Value of b = 5001 The Address of b = 8000 The Value of c = 8000 The Address of c = 9000

Pointers and Functions Call by Value Call by Reference

Call by value Actual argument passed to the formal argument. Any changes to the formal argument does not affect the actual argument.

Example #include void main() { int x,y,swap(int,int); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);

change(x,y); printf("\n\nValues in the Main()-->x=%d,y=%d",x,y); } int swap(int a,int b) { int c; c=a; a=b; b=c; printf("\nValues in the Function -->x=%d,y=%d",a,b); }

Output Enter value of x:5 Enter value of y:6 Values in the Function -->x=6,y=5 Values in the Main()-->x=5,y=6

Call by reference Instead of passing value, the address of the argument will be passed. Any changes to the formal argument will affect the actual argument.

Example #include void main() { int x,y,change(int*,int*); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);

change(&x,&y); printf("\n\nValues in the Main()-->x=%d,y=%d",x,y); } int change(int *a,int *b) { int c; c=*a; *a=*b; *b=c; printf("\nValues in the Function -->x=%d,y=%d",*a,*b); }

Output Enter value of x:5 Enter value of y:6 Values in the Function -->x=6,y=5 Values in the Main()-->x=6,y=5

Pointer to Array The elements of the array can also be accessed through a pointer. Example int a[3]={2,3,7}; int *b; b=a;

Example: #include void main() { int a[3]={2,3,7}; int *b; b=a; printf("\n The Value of a[0] = %d",a[0]); printf("\n The Address of a[0] = %u",&a[0]); printf("\n The Value of b = %d",b); }

ba[0] 8744 Variable Value Address

Output The Value of a[0] = 2 The Address of a[0] = 8744 The Value of b = 8744

Example #include void main() { int a[5]={2,3,7,9,10}; int i; for(i=0;i<5;i++) { printf("\n The Value of a[%d] = %d",i,a[i]); printf("\n The Address of a[%d] = %u",i,&a[i]); }

a[0] a[1]a[2] a[3] a[4] Array Value Address

Output The Value of a[0] = 2 The Address of a[0] = 8724 The Value of a[1] = 3 The Address of a[1] = 8726 The Value of a[2] = 7 The Address of a[2] = 8728 The Value of a[3] = 9 The Address of a[3] = 8730 The Value of a[4] = 10 The Address of a[4] = 8732

Example #include void main() { int a[5]={1,2,3,4,5}; int i,sum=0; int *b; b=a; for(i=0;i<5;i++) { sum=sum + *b; b++;//b=b+1 } printf("\n The Sum is %d",sum); }

Output The Sum is 15

Pointer and Structures Syntax: struct structure_name { structure element1; structure element2; ……………………. }variable,*ptr;

Example: struct stud { int sno; char name[10]; int mark; }; struct stud *s;

Example #include struct stud { int regno; char name[10]; int m1; int m2; int m3; }; struct stud s; struct stud *t;

void main() { float tot,avg; t=&s; printf("\nEnter the student regno,name,m1,m2,m3:"); scanf("%d%s%d%d%d",&s.regno,&s.name,&s.m1,&s.m2,& s.m3); tot=s.m1+s.m2+s.m3; avg=tot/3; printf("\nThe student Details are:"); printf("\n%d\t%s\t%f\t%f",s.regno,s.name,tot,avg); printf("\n%d\t%s\t%f\t%f",t->regno,t->name,tot,avg); }

Output Enter the student regno,name,m1,m2,m3:1 aaa The student Details are: 1 aaa

Command Line Argument It allows the user to pass some information to the program while running the program.

Example #include void main(int argc,char argv[]) { printf("\n The Argument is %s",argv[0]); getch(); }

Output C:\tc>a The Argument is C:\TC\A.EXE

String Palindrome #include void main() { char s1[15],s2[15]; printf("\nenter the string:"); scanf("%s",s1); strcpy(s2,s1); strrev(s1);

if(strcmp(s1,s2)==0) printf("\n The string is palindrome"); else printf("\n The string is not a palindrome"); getch(); } Output: enter the string: aba The string is palindrome