當申明變量int * p 的時,表示p是一個儲存地址的變量;
比如int p=0,表示p指向地址爲00000000的地址單元。
當申明指針p之後,再用p表示p指向的儲存空間的內容;&表示取變量的地址;
#include<iostream>
using namespace std;
int main(){
int a=123;
//&a表示a在內存中的地址,也就是123在內存中的地址
cout<<"a: "<<a<<endl<<"a's address:"<<&a<<endl;
//此時p是一個指針,指向a所在的位置
int *p=&a;
cout<<"p: "<<p<<endl;
//聲明p之後,在p之前添加*表示p指向內存的值
cout<<"p's value: "<<*p<<endl;
//同時p也是 一個變量,在內存中也有一個地址儲存它,但其地址不是a的地址
cout<<"p's address: "<<&p<<endl;
//試試*&組合使用是什麼效果
cout<<"*&p: "<<*&p<<endl;
//&p是一個內存地址,*&p表示&p指向地址內存空間的值,在這裏表示a的地址
cout<<"**&p: "<<**&p<<endl;
//剛纔我們已經知道*&p是a的地址,那麼**&p就表示a的值
return 0;}