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

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