最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

知識分享:const 在C語言與C++中的區(qū)別與使用!

2022-04-19 16:59 作者:C語言編程__Plus  | 我要投稿

簡單的const關(guān)鍵字里面的學(xué)問還是挺大的,越是基礎(chǔ)的知識越是容易忘卻。

1.在c語言中const

在C語言中 const關(guān)鍵字用來修飾變量名為只讀,僅此而已。

也就是說通過變量名不可以修改它的值,但是可以通過得到它的地址來修改他的值。

同時被const修飾的全局變量也就是外連接,其他源文件要引用只需要加上extern即可。

被const修飾的全局變量不能以地址的形式進行修改,由于它在內(nèi)存中位于常量區(qū),他的地址空間是只讀的。在C語言中被const的變量是直接被分配內(nèi)存的。


2.c++中的const

2.1 c++中const的使用

c++中 const關(guān)鍵字被用來表示常量,和#define的作用一樣。

在C++中能否通過地址來改變它的值,取決于是否給他分配了內(nèi)存。主要分以下三中情況

1、const int a = 10;

這種情況是不分配內(nèi)存的,直接被寫在符號表中,即使后面被分配了內(nèi)存,那么a的值也不會被改變,輸出的值一直都是符號表中的值

測試結(jié)果如下圖所示:


2、int b =100;

const int a = b;

3、const person per ={"name","id"}

2和3這種情況都是直接分配內(nèi)存的,并不會被寫在符號表中,它的值是可以通過地址訪問的方式來改變的。

2.2 c++中const的使用建議

在c++中盡量將宏定義#define 替換為 const

由于#define在編譯的預(yù)處理階段就替換為相對應(yīng)的常量,假如 #define Max 1024; 那么我們在由于這發(fā)生錯誤,他只會提示1024出現(xiàn)錯誤,

而我們換成const int Max = 1024;系統(tǒng)就會提示我們這一行發(fā)生了錯誤,并且定義到相對應(yīng)的行。

2.3 常量指針與指針常量的區(qū)別

這一題目都是面試中好多公司愿意問的問題,剛好學(xué)習(xí)到這,就把這塊也納入到本章節(jié)中。

指針常量

int *const p;,顧名思義它是一個常量,只不過被指針修飾。

常量指針

const int *p;p是一個常量

寫在最后:另外,對于準備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號:C語言編程學(xué)習(xí)基地

C語言零基礎(chǔ)入門教程(83集全)

整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

編程學(xué)習(xí)書籍分享:

粉絲編程交流:


知識分享:const 在C語言與C++中的區(qū)別與使用!的評論 (共 條)

分享到微博請遵守國家法律
涟水县| 新安县| 马山县| 肥东县| 建阳市| 奉化市| 昌平区| 唐海县| 梓潼县| 郎溪县| 东乌珠穆沁旗| 鱼台县| 分宜县| 都兰县| 曲水县| 河池市| 淮阳县| 贡嘎县| 胶南市| 北宁市| 长寿区| 镇远县| 蓝田县| 海淀区| 邹城市| 博客| 盐津县| 方山县| 麻栗坡县| 额济纳旗| 扬中市| 攀枝花市| 沿河| 天水市| 宁化县| 蒙阴县| 万源市| 凤城市| 静乐县| 会理县| 麦盖提县|