Article by: Manish Methani
Last Updated: November 3, 2021 at 2:04pm IST
#include <stdio.ht> void changeValue(int x) { x = 10; printf("The value of x inside the function is %d", x); } int main() { int x = 5; printf("The value of x before the function call is %d", x); changeValue(x); printf("The value of x after the function call is %d", x); return 0; }
Output:
The value of x before the function call is 5 The value of x inside the function is 10 The value of x after the function call is 5
In this example, the changeValue()
function takes an argument x
and sets its value to 10. However, since we're using call by value, the original value of x
in the main()
function remains unchanged.
2. Call by Reference Call by reference is a method of passing arguments to a function by passing their memory addresses instead of their values. The function then works with the original values, and any changes made to the parameters affect the original variables. Here's an example of a function that uses call by reference:
#include <stdio.ht> void changeValue(int *x) { *x = 10; printf("The value of x inside the function is %d", *x); } int main() { int x = 5; printf("The value of x before the function call is %d", x); changeValue(&x); printf("The value of x after the function call is %d", x); return 0; }
Output:
The value of x before the function call is 5 The value of x inside the function is 10 The value of x after the function call is 10
In this example, the changeValue()
function takes a pointer to an integer x
and sets its value to 10 by dereferencing the pointer. Since we're using call by reference, the changes made to x
inside the function also affect the original value of x
in the main()
function.
Conclusion: In summary, call by value and call by reference are two methods of passing arguments to a function in C programming. Call by value copies the values of the arguments into the function's parameters, while call by reference passes the memory addresses of the arguments instead. Understanding the difference between these two methods is crucial when working with functions in C programming.
Level: Advanced
Course Fees: INR 6999/-
Apply Coupon Code: UNLOCK
4 days 100% Money Back Guarantee
Explore CurriculumLevel: Intermediate
Course Fees: INR 1299/-
4 days 100% Money Back Guarantee
Explore CurriculumLevel: Beginners
Course Fees: INR 1299/-
4 days 100% Money Back Guarantee
Explore CurriculumLevel: Beginners
Course Fees: INR 1299/-
4 days 100% Money Back Guarantee
Coming SoonLevel: Beginners
Course Fees: FREE
Start WatchingTest your C Programming skills with this comprehensive mock test on C Programming.
Take TestSolve most asked Interview Questions on Flutter and Test your foundational skills in flutter.
Take TestSolve most asked GATE Questions in Operating Systems and test your Gate Score.
Take TestThis is a mock test designed to help you assess your knowledge and skills in HTML and CSS.
Take TestSolve most asked GATE Questions in Data Structures and Algorithms and test your Gate Score.
Take Test