C語(yǔ)言中的常量詳解
C語(yǔ)言中的常量
C編程中的常量是一些固定的值,它在整個(gè)程序運(yùn)行過程中無(wú)法被改變。
字面常量
字面常量是直接寫出的固定值,它包含C語(yǔ)言中可用的數(shù)據(jù)類型,可分為整型常量,字符常量等。如:9.9,“hello”等就屬于這一類常量。
##const修飾的常變量
有的時(shí)候我們希望定義這么一種變量:值不能被修改,在整個(gè)作用域中都維持原值。為了滿足用戶需求,C語(yǔ)言標(biāo)準(zhǔn)提供了const關(guān)鍵字。在定義變量的同時(shí),在變量名之前加上const修飾。如下所示:
int main() { const int a = 1; // const修飾的常變量 }
- const修飾的常變量,本質(zhì)上是變量。
- 但具有常屬性,不能被修改。
int main() { const int a = 1; a = 2; // 錯(cuò)誤 const int n = 20; int arr[n] = { 0 }; //n本質(zhì)上是變量 }
關(guān)于上述n的使用,需要說明的是:在C99標(biāo)準(zhǔn)之前,數(shù)組的大小只能是常量修飾,不支持變長(zhǎng)數(shù)組。
#define定義的標(biāo)識(shí)符常量
C語(yǔ)言提供了***#define***命令定義標(biāo)識(shí)符常量,該標(biāo)識(shí)符常量在程序中是個(gè)定值,通常用于代表數(shù)組容量或涉及數(shù)學(xué)的常量等。如:
#define PI 3.14159 #define SIZE 10 // 此處SIZE代表數(shù)組元素個(gè)數(shù) int main() { int arr[SIZE]={0}; return 0; }
如需修改數(shù)組大小,只需將SIZE所代表的值修改即可,十分方便。
枚舉常量
日常生活中有一些代表實(shí)際意義的常量,有這么一個(gè)特點(diǎn):數(shù)值較小且為非負(fù)整數(shù)。如一周有7天等。C語(yǔ)言提供了一種枚舉(Enum)類型,能夠列出所有可能會(huì)用到的取值,并給它們?nèi)∫粋€(gè)名字。
int main() { enum Sex { //枚舉常量 性別 MALE, FEMALE, SECRET }; enum Sex s = FEMALE; //利用枚舉常量給變量賦值 printf("%d\n", MALE); printf("%d\n", FEMALE); printf("%d\n",SECRET); return 0; }
在使用枚舉常量的時(shí)候,需要注意以下幾點(diǎn):
- 不能對(duì)枚舉常量賦值,只能將它們的值賦給其他的變量。
- 不能再定義與枚舉常量名字相同的變量。
- 不能用&取得它們的地址。
以上就是C語(yǔ)言中常見的幾種常量,合理使用常量可以使程序可讀性更強(qiáng),條理清晰,易于維護(hù)。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
教你在VS2022?MFC程序中調(diào)用CUDA代碼的方法
這篇文章主要介紹了在VS2022?MFC程序中調(diào)用CUDA代碼,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04基于Protobuf C++ serialize到char*的實(shí)現(xiàn)方法分析
本篇文章是對(duì)Protobuf C++ serialize到char*的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05C++實(shí)現(xiàn)時(shí)間轉(zhuǎn)換及格式化
這篇文章主要為大家詳細(xì)介紹了C++中實(shí)現(xiàn)時(shí)間轉(zhuǎn)換及格式化的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11一文帶你學(xué)習(xí)C/C++中的<Windows.h>庫(kù)
c語(yǔ)言 #include<windows.h>是寫window程序需要的重要頭文件,下面這篇文章主要給大家介紹了C/C++中<Windows.h>庫(kù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01C++實(shí)現(xiàn)高校教室管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)高校教室管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03如何用C語(yǔ)言、Python實(shí)現(xiàn)棧及典型應(yīng)用
本文先通過實(shí)例分別介紹了如何用C語(yǔ)言、Python實(shí)現(xiàn)棧,后又介紹棧的典型應(yīng)用,對(duì)大家學(xué)習(xí)棧很有借鑒參考價(jià)值,下面一起來看看吧。2016-08-08Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫(kù)坐標(biāo)軸和數(shù)據(jù)不對(duì)應(yīng)、密集的散點(diǎn)圖無(wú)法顯示問題解決方法
這篇文章主要介紹了Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫(kù)坐標(biāo)軸和數(shù)據(jù)不對(duì)應(yīng)、密集的散點(diǎn)圖無(wú)法顯示問題解決方法,需要的朋友可以參考下2020-03-03