C語言中的傳值調用
在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;
}
C語言中的傳值調用