A. 指針和引用有什麼區別 請寫一個簡單的程序說明
1.從內存上來講系統為指針分寸內存空間,而引用與綁定的對象共享內存空間,系統不為引用變數分配內容空間。
2指針初始化以後可以改變指向的對象,而引用定義的時候必須要初始化,且初始化以後不允許再重新綁定對象。
3.所以引用訪問對象是直接訪問。指針訪問對象是間接訪問。
4。如果pa是指針,那麼*pa就是引用了。
但是兩者在作為形參的時候非常相似,區別是指針拷貝副本,引用不拷貝。程序如下:
#include<stdio.h>
voidpt(int*pta,int*ptb)
{
int*ptc;
ptc=pta;pta=ptb;ptb=ptc;
}
voidref(int&ra,int&rb)
{
intrc;
rc=ra;ra=rb;rb=rc;
}
voidmain()
{
inta=3;intb=4;
int*pa=&a;int*pb=&b;
pt(pa,pb);
printf("zhen:a=%d,b=%d ",a,b);
ref(a,b);
printf("yinyong:a=%d,b=%d ",a,b);
}
輸出結果如下圖: