C语言预处理与位操作全解析
1. #define与const的对比
在C语言中, const 关键字相对较新。在 const 出现之前, #define 是定义常量的唯一关键字,因此许多旧代码使用 #define 指令。不过,出于以下几个原因, const 语句通常更受青睐:
- 语法检查 :C语言会立即检查 const 语句的语法,而 #define 指令直到宏被使用时才会检查。
- 语法规则 : const 使用C语言的语法,而 #define 有其自己独特的语法。
- 作用域规则 : const 遵循正常的C语言作用域规则,而 #define 指令定义的常量会一直存在。
以下是两种定义相同常量的方式:
#define MAX 10 /* 使用预处理器定义值 */
/*(此定义容易引发问题) */
const int MAX = 10; /* 定义C语言常量整数 */
/*(更安全) */
需要注意的是,有些编译器不允许使用常量来定义数组的大小。此外,
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



