C语言中的传值调用时什么意思呀?

Python08

C语言中的传值调用时什么意思呀?,第1张

在c语言中每一个变量都有两个属性一个是值,一个是址。比如

int a = 2

变量a的值是2,变量a的地址,可以用&取地址操作符获取,即&a。

因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如

void f1(int v) {  } //函数f1

void f2(int *p) {  } //函数f2

f1(a)  //这里传值 

f2(&a) //这是传址

值传递就是这样,举个例子:

void fun(int a, int b)

int main()

{

int c = 1

int d = 2

fun(c, d) // 这里传递进去的c和d,跟形参a,b的地址都不是同一个地址,仅仅是将c的值赋给a,d的值赋给b,在fun函数里面改变a和b的值,跟c和d本身无任何关系

return 0

}