c语言参数传递
时间: 2023-07-02 07:21:17 浏览: 112
在C语言中,参数传递方式有两种:值传递和指针传递。
值传递是指将参数的值复制一份传递给函数,在函数内对参数的修改不会影响到原来的变量。
指针传递是指将参数的地址传递给函数,函数内对参数的修改会影响到原来的变量。
具体来说,当使用值传递时,函数内对参数的修改不会影响到函数外的变量。例如:
```
void swap(int a, int b) {
int tmp = a;
a = b;
b = tmp;
}
int main() {
int x = 1, y = 2;
swap(x, y);
printf("x=%d, y=%d", x, y); // 输出 x=1, y=2
return 0;
}
```
而当使用指针传递时,函数内对参数的修改会影响到函数外的变量。例如:
```
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int x = 1, y = 2;
swap(&x, &y);
printf("x=%d, y=%d", x, y); // 输出 x=2, y=1
return 0;
}
```
在使用指针传递时,需要注意指针的类型和指针所指向的变量的类型必须匹配。
阅读全文