Skip to main content

Calling Method Of Function In C Language

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:-

Comments

Popular posts from this blog

Introductution To Structures In C Language

About Structure:- Arrays allow to define a type of variables that can hold several data items of the same kind. Similarly, structure is another user-defined data type available in C that allows to combine data items of different kinds. Let Us Take An Real Life Example: If We want to track the following attributes about each book: 1.Title (May Be String) 2.Author(May Be String) 3.Subject (May Be String) 4.Book ID (Integer Type) Than We Have to Define A Structure Variable That Can Take This Different Type Of Data-Types. Syntax For Defining A Structure:- struct [structure_Name] { member definition; member definition; ... member definition; } [one or more structure variables]; For Information of Student The Definition of structure Will Be: struct student_data {  char name[20];  int roll_Number;  int standered;  char father's_name[20]; } std1; //structure Vaiable   Accesing Structure Members:- The Members of structure variable accesed by Dot(.) Operator.. Let Us Take...

Use Of Pointers In C language

Use Of Pointer In C Language:- We Have already Discussed About Pointe rs In Previous Post. This is the most important and useful IN C programming . The Uses Of Pointers In C Language Is Given below:- 1.Array of pointers:- We Can Use Collection Of Pointer by using   An Array Of Pointers. 2.Pointer to pointer:- C allows you to have pointer on a pointer. 3.Passing pointers to functions:-  We Pass Pointer As  Arguments. Now We Will know About These Uses Of Pointers One By One:- 1.Array of pointers:- In This Method We Declare An array For Storing Pointers: declaration of an array of pointers to an integer:- int *ptr[MIN]; declaration of an array of pointers to an float:- flot *ptr[MIN]; declaration of an array of pointers to a CHAR:- char *ptr[]; Example Program:- THIS PROGRAM DEMONSTRATES ARRAY OF POINTER, WE SIMPLY PRINT ADDRESS AND VALUE OF POINTERS #include <stdio.h> const int MAX = 5; int main () { int *ptr; int var[] = {10, 100, 200,400,500}; int i; ptr=var; for (...

The Preprocessor In C

the preprocessor in c The Preprocessor In C:- The C Preprocessor is not a part of the compiler, but is a separate step in the compilation process. In simple terms, a C Preprocessor is just a text substitution tool and it instructs the compiler to do required preprocessing before the actual compilation. All Preprocessor commands begin with a hash symbol (#). It must be the first nonblank character, and for readability, a preprocessor directive should begin in the first column Of Program Some Of Preprocessors Are:- #define :-Substitutes a preprocessor macro. #include :-Inserts a particular header from another file. #undef: -  Undefines a preprocessor macro. #ifdef: -  Returns true if this macro is defined. #ifndef :- Returns true if this macro is not defined. #if :-     Tests if a compile time condition is true. #else :-   The alternative for #if. #elif :-  #else and #if in one statement. #endif :-  Ends preprocessor conditional. #error :-  Pri...