const 推出的初始目的,正是為了取代預(yù)編譯指令,消除它的缺點(diǎn),同時(shí)繼承它的優(yōu)點(diǎn)。
const的作用
(1)可以定義const常量,具有不可變性(2)用于函數(shù)參數(shù),便于進(jìn)行類型檢查,使編譯器對(duì)處理內(nèi)容有更多了解,消除了一些隱患。例如: void f(const int i) { ………} 編譯器就會(huì)知道i是一個(gè)常量,不允許修改(3)同宏定義一樣,可以做到不變則已,一變都變?。?)可以保護(hù)被修飾的東西,防止意外的修改,增強(qiáng)程序的健壯性。(5)可以節(jié)省空間,避免不必要的內(nèi)存分配(6)提高了效率。 編譯器通常不為普通const常量分配存儲(chǔ)空間,而是將它們保存在符號(hào)表中,這使得它成為一個(gè)編譯期間的常量,沒(méi)有了存儲(chǔ)與讀內(nèi)存的操作,使得它的效率也很高。(7)修飾常指針
const int *A; //const修飾指向的對(duì)象,A可變,A指向的對(duì)象不可變int const *A; //const修飾指向的對(duì)象,A可變,A指向的對(duì)象不可變int *const A; //const修飾指針A, A不可變,A指向的對(duì)象可變const int *const A;//指針A和A指向的對(duì)象都不可變Const修飾其他數(shù)據(jù)類型包括數(shù)組,都是指內(nèi)容不可變。
const與define
兩者都可以用來(lái)定義常量,但是const定義時(shí),定義了常量的類型,所以更精確一些(其實(shí)const定義的是只讀變量,而不是常量)。#define只是簡(jiǎn)單的文本替換,除了可以定義常量外,還可以用來(lái)定義一些簡(jiǎn)單的函數(shù),有點(diǎn)類似內(nèi)置函數(shù)。const和define定義的常量可以放在頭文件里面。(小注:可以多次聲明,但只能定義一次)
【注】const不能通過(guò)賦值改變,但可以通過(guò)其他方式改變,比如數(shù)據(jù)的輸入。
-
嵌入式
+關(guān)注
關(guān)注
5149文章
19651瀏覽量
317240 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141551 -
CONST
+關(guān)注
關(guān)注
0文章
45瀏覽量
8451
原文標(biāo)題:嵌入式C Const關(guān)鍵字的基礎(chǔ)知識(shí)
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式軟件編程中關(guān)鍵字的用法和原理
嵌入式C語(yǔ)言的相關(guān)資料分享
Volatile關(guān)鍵字對(duì)于嵌入式開發(fā)有什么作用呢
推薦一篇大佬寫的嵌入式C語(yǔ)言知識(shí)點(diǎn)總結(jié)
嵌入式C使用const
嵌入式程序員常見的const、static、volatile關(guān)鍵字
在C語(yǔ)言中關(guān)鍵字static的作用是什么
嵌入式C語(yǔ)言的知識(shí)點(diǎn)匯總,絕對(duì)實(shí)用
C51的符號(hào)和五大語(yǔ)句及關(guān)鍵字等詳細(xì)資料說(shuō)明

【嵌入式】C語(yǔ)言中volatile關(guān)鍵字

嵌入式C語(yǔ)言知識(shí)總結(jié)

const關(guān)鍵字應(yīng)用總結(jié)
淺析C語(yǔ)言中的regiseter關(guān)鍵字

評(píng)論