C語言 常量定義

在C中,有兩種簡單的定義常量的方式:

1.使用#define預處理器

2.使用const關鍵字

const 定義的是變量不是常量,只是這個變量的值不允許改變是常變量!帶有類型。編譯運行的時候起作用存在類型檢查。

define 定義的是不帶類型的常數,只進行簡單的字符替換。在預編譯的時候起作用,不存在類型檢查。

const #define
編譯器處理方式 編譯運行階段使用 宏是在預處理階段展開
類型 有具體的類型 宏沒有類型
安全檢查 在編譯階段會執行類型檢查 不做任何類型檢查,僅僅是展開。
內存空間 分配內存 不分配內存
效率

const 定義常量從彙編的角度來看,只是給出了對應的內存地址,而不是象 #define 一樣給出的是立即數,所以,const 定義的常量在程序運行過程中只有一份拷貝(因爲是全局的只讀變量,存在靜態區),而 #define 定義的常量在內存中有若干個拷貝。

推薦使用 const 定義常量

————————————————
版權聲明:本文爲CSDN博主「hanfengzqh」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hanfengzqh/article/details/89285791

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章