CALLING FUNCTION:-
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR MORE KNOWLEDGE CLICK BELOW:-↓↓↓↓↓
basics-of-c-programing-1(preprocessor)
basics-of-c-programming-2.(operators)
basics-of-programming-3-(functions)
which-is-best-intel-or-amd.diffrence-bw-structure-and-union
IN C LANGUAGE THERE IS TWO TYPES OF CALLING FUNCTIONS .
- CALL BY VALUE
- CALL BY REFERENCE
* CALL BY VALUE:-
IN CALL BY VALUE , ORIGINAL VALUE CAN NOT BE CHANGED OR MODIFIED. IN CALL BY VALUE, WHEN THE VALUE PASSED BY THE FUNCTION , IT IS LOCALLY STORE IN THE FUNCTION PARAMETER IN STACK MEMORY LOCATION.
IF YOU CHANGE THE VALUE OF FUNCTION PARAMETER , THE CHANGES MADE TO BE IN LOCAL MEMORY IN CURRENT FUNCTION ONLY BUT IT NOT CHANGE THE VALUE OF VARIABLE INSIDE THE CALLER METHOD SUCH AS MAIN FUNCTION .
SOME IMPORTANT POINTS OF CALL BY VALUE IS :
1.) THIS METHOD COPY THE ORIGINAL VALUE INTO HE FUNCTION AS AN ARGUMENT .
2.) CHANGES MADE TO THE PARAMETER INSIDE THE FUNCTION HAVE NOT EFFECT ON THE ARGUMENT .
3.) ACTUAL AND FORMAL ARGUMENT WILL BE CREATED IN DIFFERENT MEMORY LOCATION .
for example:-
/* swap two numbers by call by value*/
#include<stdio.h>
#include<conio.h>
void main()
{
int a=10,b=20;
printf("value of a and b before swap=%d%d",a,b);
swap( ); /*function declaration*/
printf("value of a and b after swap=%d%d",a,b);
getch();
}
int swap(int a , int b) /*function definition*/
{
int temp;
temp=a;
a=b;
b=temp;
printf("value of a and b=%d%d",a,b);
}
OUTPUT:-
VALUE BEFORE SWAP 10 20
VALUE AFTER SWAP 20 10
-------------------------------------------------------------------------------------------------------------------------------
*CALL BY REFERENCE:-
IN CALL BY REFERENCE , ORIGINAL VALUE CHANGE OR MODIFIED BECAUSE WE PASS REFERENCE(ADDRESS). ADDRESS OF VALUE PASSED BY THE FUNCTION SO THE ACTUAL AND FORMAL ARGUMENT SHARE THE SAME ADDRESS SPACE .SO ANY VALUE CHANGED INSIDE THE FUNCTION IS REFLECTED INSIDE AS WELL AS OUTSIDE OF THE FUNCTION .
SOME IMPORTANT POINTS OF CALL BY REFERENCE:
1.)THIS METHOD COPY ADDRESS VALUE INTO FUNCTION AS AN ARGUMENT .
2.)CHANGES MADE TO THE PARAMETER AFFECT THE ARGUMENT BECAUSE IT USED TO ACCESS THE ACTUAL ARGUMENT .
3.) ACTUAL AND FORMAL ARGUMENT WILL BE CREATED IN SAME MEMORY LOCATION .
for example:-
/*swap two value by call by reference*/
#include<stdio.h>
void main()
{
int a=10, b=20;
printf("value before swap=%d%d",a,b);
swap(&a,&b); /*function declaration*/
printf("value after sap=%d%d",a,b);
}
int swap(int *a, int *b) /*function definition*/
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
output:-
value of a and b before swap 10 20
value of a and b after swap 20 10
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR MORE KNOWLEDGE CLICK BELOW:-↓↓↓↓↓
basics-of-c-programing-1(preprocessor)
basics-of-c-programming-2.(operators)
basics-of-programming-3-(functions)
which-is-best-intel-or-amd.diffrence-bw-structure-and-union
Comments
Post a Comment