
常量的分类字面常量和符号常量1. 字面常量直接写在代码里的数值无需定义直接使用.例100、3.14、“a”、“hello”等字面常量分为4种整型、浮点型、字符型、字符串常量整型常量C语言支持三中进制的整型常量C语言不支持2进制进制书写规则实例十进制正常数字1,2,3,5,9八进制以0开头012十六进制以0x开头0x1A2字符常量用 单引号 包裹只能存放1个字符示例A、9、#特殊转义字符常量转义字符作用\n换行\t制表符空格缩进\\输出反斜杠\输出单引号\输出双引号字符串常量用 双引号 包裹可以存放多个字符示例Hello C、12345、学习常量2.符号常量符号常量是通过符号名定义的常量。符号常量可以用#define预处理指令或者const关键字定义。预处理阶段直接纯文本替换无类型检查如图预处理的时候已经将文本替换了。定义在函数外部全局生效不能被修改、不能赋值常量名建议 全大写区分变量2. const 修饰常量只读变量有数据类型编译器会做类型检查更安全可以定义在局部/全局必须初始化赋值后续不可修改特点const常量有类型限制编译器会进行类型检查。const常量存储在内存中可以参与程序运行时的计算。#define VS const 核心区别高频考点对比维度#define 宏常量const 常量类型检查无纯文本替换有类型严格检查作用域全局默认整个文件随定义位置局部/全局内存占用不占用内存直接替换占用内存属于只读变量可否修改完全不可修改只读不可修改推荐场景全局固定参数PI、最大值需要类型安全、局部常量