傳值引用和調用引用的區別
阿新 • • 發佈:2019-03-20
生成 ima chang img 代碼 src oid inf clas
只需要記住一句話:
傳值引用一般就是生成一個臨時對象,而引用調用是調用參數本身。
參照下面C語言代碼理解:
在 test.h文件裏實現兩個方法
#include <stdio.h>
/*交換兩個數*/ void exchange(int x,int y){ int temp; temp = x; x = y; y = temp; printf("交換後第一個數:\n%d\n交換後第二個數:\n%d\n",x,y); } /*交換兩個數的指針*/ void exchangeAddress(int *x,int*y){ int temp = *x; *x = *y; *y = temp; printf("交換後第一個數:\n%d\n交換後第二個數:\n%d\n",*x,*y); }
在 test.c文件裏調用這兩個方法如下:
#include <stdio.h> #include "test.h" int main(){ int a, b; printf("請輸入a: \n"); scanf("%d",&a); printf("請輸入b: \n"); scanf("%d",&b); exchange(a,b); printf("交換後:\n a=%d\n b=%d\n",a,b) ; exchangeAddress(&a,&b); printf("交換地址:\n a=%d\n b=%d\n",a,b) ; }
打印結果:
傳值引用和調用引用的區別