【嵌入式C语言】八
9.3条件编译预处理指令
本节重点介绍#ifdef和#ifndef
凡是头文件都会使用条件编译的方式,可以防止定义的变量以及自定义的数据类型在包含头文件的时候被重复定义。
9.4typedef和#define的区别
定义枚举类型的两种写法
另一种写法是
这种写法较简洁也比较常见,除了对枚举类型,还可以对结构体类型进行typedef
9.5宏定义中为什么要使用do-while(0)进行
可以使用宏定义对函数进行封装
但是这就会导致多出现一个分号而报错
有三种方法改正,一种是不加分号,另一种是使用{},其三是使用do-while(0)
由于其本身需要一个分号,正好符合语法规则,很好的解决了分号所带来的错误问题
9.6#define的作用域
在.c文件中进行的宏定义在main.c是无法使用的