在C语言中,函数的参数传递机制主要有两种:传值调用和传引用调用。
void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 10, y = 20;
swap(x, y);
printf("x = %d, y = %d\n", x, y); // 输出结果为:x = 10, y = 20
return 0;
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, y = 20;
swap(&x, &y);
printf("x = %d, y = %d\n", x, y); // 输出结果为:x = 20, y = 10
return 0;
}
总之,在C语言中,函数参数传递时都是通过值传递的,但是对于指针类型的参数,可以通过传递地址来实现传引用调用。