p . *p , &p 三個符號 區別

p是一個指針變量的名字,表示此指針變量指向的內存地址,如果使用%p來輸出的話,它將是一個16進制數。而*p表示此指針指向的內存地址中存放的內容,一般是一個和指針類型一致的變量或者常量。 
而我們知道,&是取地址運算符,&p就是取指針p的地址。等會,怎麼又來了個地址,它到底和p有什麼區別?區別在於,指針p同時也是個變量,既然是變量,編譯器肯定要爲其分配內存地址,就像程序中定義了一個int型的變量i,編譯器要爲其分配一塊內存空間一樣。而&p就表示編譯器爲變量p分配的內存地址,而因爲p是一個指針變量,這種特殊的身份註定了它要指向另外一個內存地址,程序員按照程序的需要讓它指向一個內存地址,這個它指向的內存地址就用p表示。而且,p指向的地址中的內容就用*p表示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章