c语言

C语言func的参数传递机制

小樊
88
2024-06-20 02:01:22
栏目: 编程语言

在C语言中,函数的参数传递机制主要有两种:传值调用和传引用调用。

  1. 传值调用:函数调用时,实参的值被传递给形参,形参在函数内部进行操作,但不会改变实参的值。这意味着在函数内部对形参的修改不会影响到实参。
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;
}
  1. 传引用调用:函数调用时,实参的地址被传递给形参,形参通过指针来操作实参的值,这样函数内部对形参的修改会影响到实参。
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语言中,函数参数传递时都是通过值传递的,但是对于指针类型的参数,可以通过传递地址来实现传引用调用。

0
看了该问题的人还看了