C 21 引用和指標

2021-10-12 16:04:16 字數 596 閱讀 9196

一般說到誰和誰怎麼樣,要麼說兩者的相似點,要麼兩者的區別,這裡我們也要說二者的區別和聯絡,同時,也不僅僅是區別和聯絡這麼簡單,因為你可能會發現在變數賦值,函式傳參這兩點還是有很多值得品一品的。 

最直觀的賦值方面的區別

首先我們先說二者的區別和聯絡。

int a=1;int *p=&a;

int a=1;int &b=a;

上面定義了乙個整形變數和乙個指標變數p,該指標變數指向a的儲存單元,即p的值是a儲存單元的位址。

而下面2句定義了乙個整形變數a和這個整形a的引用b,事實上a和b是同乙個東西,在記憶體占有同乙個儲存單

元。(2)引用不可以為空,當被建立的時候,必須初始化,而指標可以是空值,可以在任何時候被初始化。

(3)可以有const指標,但是沒有const引用;

(4)指標可以有多級,但是引用只能是一級(int **p;合法 而 int &&a是不合法的)

(5)指標的值可以為空,但是引用的值不能為null,並且引用在定義的時候必須初始化;

(6)指標的值在初始化後可以改變,即指向其它的儲存單元,而引用在進行初始化後就不會再改變了。

(7)」sizeof引

C (二)引用和指標

引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。定義的格式是 型別 引用變數名 已定義過得變數名 引用的特點 1 乙個變數可以取多個別名 2 引用必須初始化 3 引用只能在初始化的時候引用一次,不能改變為再引用其他的變數。include using namespace std vo...

C 集錦二 引用和指標

1.什麼是 引用 宣告和使用 引用 需要注意哪些問題?引用就是某個目標變數的 別名 對引用的操作與對變數的操作效果完全相同。宣告乙個引用需要對其進行初始化,這不是新定義了乙個變數,它只是表示該引用名是目標變數名的乙個別名,它本身不是一種資料型別,因此引用不佔儲存單元。2.使用 引用 作為函式引數有哪...

認識C 21 指標

語法 資料型別 指標名稱 int p 指標和變數建立聯絡 宣告乙個變數 int a 10 獲取變數a的位址賦值給p p a 解引用 可以用來獲取或設定指標指向的變數的值 p 解引用 通過解引用獲取變數a的值 cout p endl 通過解引用直接操作記憶體修改變數a的值 p 100 cout a e...