c++ 指針、引用和取值;
直接看代碼:
1 #include<iostream> 2 using namespace std; 3 int add(int *a,int *b){ 4 int s; 5 s = *a + *b; 6 cout<<"sig1 "<<a<<endl;//a就是指針,它是一個地址; 7 cout<<"sig2 "<<&a<<endl;//&a,&在這里仍然是個取址的符號,取得是地址的地址; 8 cout<<"sig3 "<<*&a<<endl;//這里我覺得“*”就是將地址所指的內容給呈現出來,所以這里就是a; 9 cout<<"sig4 "<<**&a<<endl;//同上,繼續將a作為地址的內存上的內容讀出來; 10 return s; 11 } 12 int main(){ 13 int sum,a=1,b=2; 14 sum=add(&a,&b);//為什么要用&a,在這里“&a”傳的是地址,因為add的參數是指針,指針要指向地址; 15 cout<<"sig5 "<<&a<<endl;//它還是第13行中定義的那個a,所以跟第6行顯示的一樣; 16 cout<<sum<<endl;//兩個值相加返回的就是int型的值啦; 17 int *p=&a; 18 cout<<p<<endl;//將a的地址賦給指針p; 19 cout<<*p<<endl;//將p所指向的地址的內容呈現; 20 int &c=a;//在這里是引用,之前看一篇博文上寫的一句話特別好“&在類型后邊時是引用,和變量在一起不挨著類型是是取址。” 21 cout<<c<<endl;//所以這里a就是c,是內存中的同一塊。 22 return 0; 23 }

恩就是這樣。等后續,遇到問題再來補充。
浙公網安備 33010602011771號