- 课程链接:https://coding.imooc.com/learn/list/463.html
- 课程名称:C语言系统化精讲,重塑编程思想,打造坚实的开发基础
- 章节名称:
- 第3章:C语言快速入门
- 3-5常量(常量修改秘笈)
- 第3章:C语言快速入门
- 讲师姓名:bennyhuo
- 时间:2022-09-10 22:17
课程内容
- 定义常量
const int kRed = 0xFF0000;
const int kGreen = 0x00FF00;
const int kBlue = 0x0000FF;
- 修改上述常量的方法
int p_k_red = &kRed;
*p_k_red = 0;
- 这是一种通过地址来修改常量的方法,所以这里的常量更适宜称作只读变量(read only variable)
- 如何定义完全无法修改的变量
- 使用宏(macro)定义:
#define RED_COLOR 0xFF0000
- 宏定义会在C语言编译期间,会有一个预处理过程,在这个过程会用后面定义的内容来代替前面标识符,所以在最终编译结果中不存在这个标识符
gcc -E 文件名 -o 新文件名
是预编译参数,生成预编译这个中间文件-o
生成目标文件的参数- 也可以在代码中任意位置取消宏定义
#undef RED_COLOR
- 使用宏(macro)定义:
- 真正的常量是字面量(literal)
- 宏就是字面量的一个马甲
- 在给变量赋值时,最好不要硬编码,使用宏定义来为变量赋值,可以让代码更易读
- 但原因何在?
学习心得
本来以为常量就是简单加一个const关键字,没想到还有这么多可以扩展的知识可用