按值致电与按引用致电之间的区别
在将参数传递给函数的编程中,我们将函数调用分为两种:按值调用和按引用调用。正如两次调用中所建议的那样,我们按参数类型调用函数,即传递参数的实际值,在其他情况下,我们传递参数的位置/引用。
以下是“按值调用”和“按引用调用”之间的重要区别。
按值调用与按引用调用的示例
ByValue.c
#include <stdio.h> class ByValue{ void swapByValue(int, int); /* Prototype */ int main(){ int n1 = 10, n2 = 20; swapByValue(n1, n2); printf("n1: %d, n2: %d\n", n1, n2); } void swapByValue(int a, int b){ int t; t = a; a = b; b = t; } }
输出结果
n1: 10, n2: 20
示例
ByReference.c
#include <stdio.h> class ByReference{ void swapByReference(int*, int*); int main(){ int n1 = 10, n2 = 20; swapByReference(&n1, &n2); printf("n1: %d, n2: %d\n", n1, n2); } void swapByReference(int *a, int *b){ int t; t = *a; *a = *b; *b = t; } }
输出结果
n1: 20, n2: 10