c语言引用传递和值传递
时间: 2024-06-13 08:10:10 浏览: 107
关于C++中值传递和引用传递的总结
5星 · 资源好评率100%
C语言中函数参数的传递有三种形式:值传递、地址传递、引传递。其中,值传递是指将实参的值复制一份传递给形参,函数内部对形参的修改不会影响到实参;地址传递是指将实参的地址传递给形参,函数内部对形参所指向的内存单元的修改会影响到实参;引用传递是指将实参的引用传递给形参,函数内部对形参的修改会影响到实参。
下面是C语言中值传递和引用传递的例子:
值传递例子:
```c
#include <stdio.h>
void swap(int a, int b);
int main(void) {
int a = 100;
int b = 200;
printf("a=%d\n", a);
printf("b=%d\n", b);
swap(a, b);
printf("a=%d\n", a);
printf("b=%d\n", b);
return 0;
}
void swap(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
}
```
输出结果:
```
a=100
b=200
a=100
b=200
```
引用传递例子:
```c
#include <stdio.h>
void swap(int *a, int *b);
int main(void) {
int a = 100;
int b = 200;
printf("a=%d\n", a);
printf("b=%d\n", b);
swap(&a, &b);
printf("a=%d\n", a);
printf("b=%d\n", b);
return 0;
}
void swap(int *a, int *b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
```
输出结果:
```
a=100
b=200
a=200
b=100
```
阅读全文