const 基礎(chǔ) 筆記十六關(guān)于const關(guān)鍵字,在C語言和C++中const的表現(xiàn)是不同的。 先看一下const基礎(chǔ)知識。 對const的初級理解:const是定義常量,const意味著只讀。 掌握const最基本的關(guān)鍵點(diǎn)是:指針變量和它所指向的內(nèi)存空間變量是兩個(gè)不同的概念,看const是修飾指針本身,還是修飾了指針?biāo)赶虻膬?nèi)存空間。
1.png (17.83 KB, 下載次數(shù): 72)
下載附件
2018-3-5 20:24 上傳
舉個(gè)例子:
2.png (14.33 KB, 下載次數(shù): 72)
下載附件
2018-3-5 20:24 上傳
定義一個(gè)結(jié)構(gòu)體Teacher,在operatorTeacher01函數(shù)中,函數(shù)形參 const Teacher *pt,指針?biāo)赶虻膬?nèi)存空間不能被修改,嘗試修改指針?biāo)赶虻膬?nèi)存空間 pt->age=10 ,就會編譯錯誤。 在operatorTeacher02函數(shù)中,函數(shù)形參 Teacher *const pt,這句話就是說pt不能被修改,也就是這個(gè)指針不能被修改,但是指針?biāo)赶虻膬?nèi)存空間可以被修改。 再看函數(shù)operatorTeacher03(const Teacher *const pt),根據(jù)形參,這個(gè)pt指針不能被修改,指針指向的內(nèi)存空間也不能被修改。 運(yùn)行程序:
3.png (22.06 KB, 下載次數(shù): 78)
下載附件
2018-3-5 20:24 上傳
【C++】筆記系列均為原創(chuàng),轉(zhuǎn)載請注明轉(zhuǎn)自微號:Lightspeed-Tech 或 AutoCode 更多精彩資料,請關(guān)注!
|