Calling Method In C Language:-
As We Already See That Any Function has Some Arguments Or void
If We Use Variable As Argument Then It Is Called FORMAL PARAMETERS.
*Formal parameters behave like other local variables inside the function
and are created upon entry into the function and destroyed upon exit.
In C Language there are two ways in which arguments can be passed
to a function:-
1)Call by value:- (using value)
2)Call by reference:- (using pointer)
Now We Will See One By One These Arguments By Taking Suitable Example:
1)Call by value:-
*In This Method actual value copies to formal parameter:
*Due To That changes made to the parameter inside the function
have no effect on the argument.
This will cleared by following example:-
Example Program:-
//in this program we swap two variable using third variable:
#include <stdio.h>
/* function declaration */
void swapping(int a, int b);
int main ()
{
/* local variable definition */
int x = 69;
int y = 93;
printf("Before swapping the value of x= %d\n",x);
printf("Before swapping the value of y= %d\n",y);
/* calling a function to swapping the values */
swapping(x, y);
return 0;
}
/* function definition to swap the values */
void swapping(int a, int b)
{
int temp; //a local variable for swapping
temp = a; /* save the value of x */
a = b; /* put a into b */
b = temp; /* put temp into y */
printf("After swapping the value of x= %d\n",a);
printf("After swapping the value of y= %d\n",b);
}
The Output Of This Program Will Be:-
Before swapping the value of x= 69
Before swapping the value of y= 93
After swapping the value of x= 93
After swapping the value of y= 69
2)Call by reference:-
*In This Method address of actual value copies to formal parameter.
*the address is used to access the actual argument.for this purpous
we use pointers.
*the changes made to the parameter affect the passed argument.
This will cleared by following example:-
Example Program:-
//in this program we swap two variable using pointer:
#include <stdio.h>
void swapping(int *a, int *b); /* function declaration */
int main ()
{
int x = 66; // local variable definition
int y = 59;
printf("Before swapping the value of x= %d\n",x);
printf("Before swapping the value of y= %d\n",y);
swapping(&x, &y); // calling a function to swap the values.
//("&x")indicates pointer to x i.e. address of variable x
return 0; //("&y")indicates pointer to y i.e. address of variable y
}
/* function definition to swap the values */
void swapping(int *a, int *b)
{
int temp;
temp = *a; /* save the value at address a */
*a = *b; /* put b into a */
*b = temp; /* put temp into y */
printf("After swapping the value of x= %d\n",*a);
printf("After swapping the value of y= %d\n",*b);
}
The Output Of This Program:-
Before swapping the value of x= 66
Before swapping the value of y= 59
After swapping the value of x= 59
After swapping the value of y= 66
NOTE:-
*By default, C uses call by value to pass arguments.
*it means the code within a function cannot alter the arguments used to
call the function.
-:PLEASE SHARE THIS:-
-:THANKS A LOT:-
As We Already See That Any Function has Some Arguments Or void
If We Use Variable As Argument Then It Is Called FORMAL PARAMETERS.
*Formal parameters behave like other local variables inside the function
and are created upon entry into the function and destroyed upon exit.
In C Language there are two ways in which arguments can be passed
to a function:-
1)Call by value:- (using value)
2)Call by reference:- (using pointer)
Now We Will See One By One These Arguments By Taking Suitable Example:
1)Call by value:-
*In This Method actual value copies to formal parameter:
*Due To That changes made to the parameter inside the function
have no effect on the argument.
This will cleared by following example:-
Example Program:-
//in this program we swap two variable using third variable:
#include <stdio.h>
/* function declaration */
void swapping(int a, int b);
int main ()
{
/* local variable definition */
int x = 69;
int y = 93;
printf("Before swapping the value of x= %d\n",x);
printf("Before swapping the value of y= %d\n",y);
/* calling a function to swapping the values */
swapping(x, y);
return 0;
}
/* function definition to swap the values */
void swapping(int a, int b)
{
int temp; //a local variable for swapping
temp = a; /* save the value of x */
a = b; /* put a into b */
b = temp; /* put temp into y */
printf("After swapping the value of x= %d\n",a);
printf("After swapping the value of y= %d\n",b);
}
The Output Of This Program Will Be:-
Before swapping the value of x= 69
Before swapping the value of y= 93
After swapping the value of x= 93
After swapping the value of y= 69
2)Call by reference:-
*In This Method address of actual value copies to formal parameter.
*the address is used to access the actual argument.for this purpous
we use pointers.
*the changes made to the parameter affect the passed argument.
This will cleared by following example:-
Example Program:-
//in this program we swap two variable using pointer:
#include <stdio.h>
void swapping(int *a, int *b); /* function declaration */
int main ()
{
int x = 66; // local variable definition
int y = 59;
printf("Before swapping the value of x= %d\n",x);
printf("Before swapping the value of y= %d\n",y);
swapping(&x, &y); // calling a function to swap the values.
//("&x")indicates pointer to x i.e. address of variable x
return 0; //("&y")indicates pointer to y i.e. address of variable y
}
/* function definition to swap the values */
void swapping(int *a, int *b)
{
int temp;
temp = *a; /* save the value at address a */
*a = *b; /* put b into a */
*b = temp; /* put temp into y */
printf("After swapping the value of x= %d\n",*a);
printf("After swapping the value of y= %d\n",*b);
}
The Output Of This Program:-
Before swapping the value of x= 66
Before swapping the value of y= 59
After swapping the value of x= 59
After swapping the value of y= 66
NOTE:-
*By default, C uses call by value to pass arguments.
*it means the code within a function cannot alter the arguments used to
call the function.
-:PLEASE SHARE THIS:-
-:THANKS A LOT:-
Comments
Post a Comment