CodesJava

Easy learning with example program codes

C Call: Value & Reference


Call: Value & Reference:

Calling a function in C and passing values to that function can be done in two ways:

  • Call by Value
  • Call by Reference

 

Call by Value Call by Reference
Original value of the function parameter is not modified. Original value of the function parameter is modified.
In this method, we pass a copy of the value to the function. In this method, we pass an address of the value to the function.
The value to be passed to the function is locally stored. The value to be passed to the function is stored at the location same as the address passed.
The value changed inside the function, changes for the current function only. The value changed inside the function, changes for both inside as well as outside the function.
Actual and Formal arguments have unique address spaces. Actual and Formal arguments shares the same address space.

 

 

Example 1: Example for Call by Value.

#include<stdio.h>  
int sum(int a, int b)
{
int c;
c = a+b;
return c;
}
 
void main()
{
int x = 100;
int y = 200;
int add;
add = sum(x,y);
printf ("%d + %d = %d", x,y,add);
}

Output

100 + 200 = 300

Example 2: Example for Call by Value.

#include<stdio.h>  
int sum(int *a, int *b)
{
int *c;
*c = *a + *b;
return *c;
}
 
void main()
{
int x = 100;
int y = 200;
int add;
add = sum(&x,&y);
printf ("%d + %d = %d", x,y,add);
}

Output

100 + 200 = 300
Posted in C   
Sign Up/ Sign In
Ask a Question


Industrial Training

We offers Placement Oriented Training on Java, Spring, JSF, Hibernate, PHP, AngularJS, Angular 4, PLSQL, Oracle BI Publisher etc. We also provides Online training, please mail us at hr@codesjava.com.

Development

We also provides the Development services for Website Development , Java Development, PHP Development, Android App Development etc. You can contact us on hr@codesjava.com.

Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki