按值致电与按引用致电之间的区别
在将参数传递给函数的编程中,我们将函数调用分为两种:按值调用和按引用调用。正如两次调用中所建议的那样,我们按参数类型调用函数,即传递参数的实际值,在其他情况下,我们传递参数的位置/引用。
以下是“按值调用”和“按引用调用”之间的重要区别。
按值调用与按引用调用的示例
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