📘 Lesson · Lesson 55
Call by Value vs Reference
Call by Value vs Reference
Two Ways to Pass Arguments
💡 Note
Call by value passes a copy (original unchanged). Call by reference passes the address (original can change).
Call by Value
C
void change(int x) { x = 100; }
int main() {
int a = 5;
change(a);
printf("%d", a); // 5 (unchanged)
}Output:
5
5
Call by Reference
C
void change(int *x) { *x = 100; }
int main() {
int a = 5;
change(&a);
printf("%d", a); // 100 (changed)
}Output:
100
100
Summary
- Call by value copies the data; call by reference passes the address so changes persist.
Arguments Pass करने के दो तरीके
💡 Note
Call by value copy भेजता है (original unchanged)। Call by reference address भेजता है (original बदल सकता है)।
Call by Value
C
void change(int x) { x = 100; }
int main() {
int a = 5;
change(a);
printf("%d", a); // 5 (unchanged)
}Output:
5
5
Call by Reference
C
void change(int *x) { *x = 100; }
int main() {
int a = 5;
change(&a);
printf("%d", a); // 100 (changed)
}Output:
100
100
सारांश
- Call by value data copy करता; call by reference address भेजता है तो changes रहते हैं।