C語言的函數(shù)中必不可少的就是參數(shù)傳遞,可以采用傳值和傳指針兩種方式。
1.傳值的形式:只是將參數(shù)值的拷貝傳給函數(shù),并非參數(shù)本體如:
int test(int x,int y) { x=2*y; return x; } int main(void) { int a=0,b=5; printf("%d,%d ",test(a,b),a); return 0; }
運行結果為:
10,0
即傳值方式只可以將實參傳遞給函數(shù),不可以改變實參本身。
2.傳指針形式:直接傳給函數(shù)的是變量的地址。
如:
int a(int b,int *c) { int i=0; for(i=0;i<4;i++) c[i]=b*i; return 0; } int main(void) { int b=2,c[4],i; a(b,c); for(i=0;i<4;i++) printf("Data is -> %d ",c[i]); return 0; }
運行結果為:
Data is -> 0
Data is -> 2
Data is -> 4
Data is -> 6
由于被調(diào)函數(shù)在參數(shù)指針的作用域之內(nèi),此時可以直接改變變量的本體。