課程
/后端開發(fā)
/C++
/C++遠征之離港篇
請問 int *p=new int; ? ? *p=20; ? ? 這個 *p表示的是什么含義?
2015-10-16
源自:C++遠征之離港篇 5-2
正在回答
*號 用在不同的地方有不一樣的含義。
第一個 *p : 在聲明(定義)時表示星號后面的變量是指針類型,也就是 p 是指向int的指針。
第二個 *p : 表示將 p 這個指針“解引用”,得到的是 p 所指的對象(也就是new出來的int對象)。 第二個語句就是把20賦值給了p所指的對象。
竹渚溪520 提問者
int *p 表示 *p 是一個 int 類型的變量,p是指針
p通過new int 在內(nèi)存上(堆中)分配了一塊空間,這塊空間的大小是4個字節(jié)(int的長度),p指向這塊空間的首地址,*p = 20 表示 這塊地址賦值為20,如何訪問這塊地址?通過p
這塊空間在堆上手動分配,所以需要手動釋放。如果沒有釋放,p重新指向了別處。那這塊地址就變成不可訪問了,但別人也無法使用它。
舉報
C++掃清通往面向?qū)ο蟮淖詈笠坏勒系K,將所有知識點融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-10-17
*號 用在不同的地方有不一樣的含義。
第一個 *p : 在聲明(定義)時表示星號后面的變量是指針類型,也就是 p 是指向int的指針。
第二個 *p : 表示將 p 這個指針“解引用”,得到的是 p 所指的對象(也就是new出來的int對象)。 第二個語句就是把20賦值給了p所指的對象。
2015-10-16
int *p 表示 *p 是一個 int 類型的變量,p是指針
p通過new int 在內(nèi)存上(堆中)分配了一塊空間,這塊空間的大小是4個字節(jié)(int的長度),p指向這塊空間的首地址,*p = 20 表示 這塊地址賦值為20,如何訪問這塊地址?通過p
這塊空間在堆上手動分配,所以需要手動釋放。如果沒有釋放,p重新指向了別處。那這塊地址就變成不可訪問了,但別人也無法使用它。