Call by Value and Call by Reference in C
0 316
Call by Value in C
In Call by Value in C, the value of actual parameters will be copied to formal parameters in different locations.
Actual parameters: The parameters passed to the function are called actual parameters.
Formal parameters: parameters are like placeholders for values that a function expects to receive when it's called. They represent the input values that the function will work with.
Syntax of Call by Value in C
void function name(datatype parameter name){ //Function body }Example:
// Program for call by value in C #include<stdio.h>Output:// Function to increment the value by 1 (though it doesn't affect the main variable) void increment(int i){ i++; } int main() { int A = 10; // Declare and initialize variable A with value 10 increment(A); // Call the increment function with A printf("The value of A after call by value : %d\n", A); // Print the value of A return 0; // Return 0 to indicate successful execution }
value of A after call by value: 10
Call by Reference in C
In Call by Reference in C instead of passing a copy of the value, the address of actual parameters is passed to the Function.
Actual parameters and formal parameters refer to the same memory location.
Hence, alterations made to the formal parameters will impact the actual parameters.
Syntax of Call by Reference in C
void function name(datatype * parameter name){ // function body }Example:
// Program for call by Reference in C #include<stdio.h>Output:// Function to increment the value pointed to by i void increment(int *i){ (*i)++; // Increment the value at the address pointed by i } int main() { int A = 10; // Declare and initialize variable A with value 10 increment(&A); // Call the increment function with the address of A printf("value of A after call by reference: %d\n", A); // Print the value of A return 0; // Return 0 to indicate successful execution }
value of A is after call by reference: 11
Share:
Comments
Waiting for your comments