20190118 P和 P三者的區別

2021-09-09 08:55:08 字數 480 閱讀 2828

//(原)

假設我們定義乙個指標p。

那麼會經常使用到三個符號:

1,p;

2,p;

3,&p;

初學者經常會感到很迷茫,到底這三個符號表示什麼?

我們知道,p是乙個指標變數的名字,表示此指標變數指向的記憶體位址,如果使用%p來輸出的話,它將是乙個16進製制數。而p表示此指標指向的記憶體位址中存放的內容,一般是乙個和指標型別一致的變數或者常量。

而我們知道,&是取位址運算子,&p就是取指標p的位址。等會,怎麼又來了個位址,它到底和p有什麼區別?

區別在於,指標p同時也是個變數,既然是變數,編譯器肯定要為其分配記憶體位址,就像程式中定義了乙個int型的變數i,編譯器要為其分配一塊記憶體空間一 樣。而&p就表示編譯器為變數p分配的記憶體位址,而因為p是乙個指標變數,這種特殊的身份注定了它要指向另外乙個記憶體位址,程式設計師按照程式的需要 讓它指向乙個記憶體位址,這個它指向的記憶體位址就用p表示。而且,p指向的位址中的內容就用*p表示。

string Empty和null三者的區別

這是乙個及其常見的問題,網上已經有關於這個問題的很多討論。但是我覺得都是不求甚解,有一些還是在誤導別人。下面我來說下我對這三者的理解,如有錯誤的地方請大家及時指正。一 與string.empty我認為是一樣的。網上有一篇被 了幾十遍的文章是這樣說的string.empty 不分配儲存空間,分配乙個長...

string Empty和null三者的區別

本文 字型 大中小 這是乙個及其常見的問題,網上已經有關於這個問題的很多討論。但是我覺得都是不求甚解,有一些還是在誤導別人。下面我來說下我對這三者的理解,如有錯誤的地方請大家及時指正。一 與string.empty我認為是一樣的。網上有一篇被 了幾十遍的文章是這樣說的string.empty 不分配...

陣列 ArrayList和List三者的區別

list是針對特定型別 任意長度的。array是針對任意型別 固定長度的。arraylist是針對任意型別 任意長度的。array 和 arraylist 是通過儲存 object 實現任意型別的,所以使用時要轉換。在c 中陣列,arraylist,list都能夠儲存一組物件,那麼這三者到底有什麼樣...