单片机程序开发过程中,经常会遇到一种情况,当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一种语句,条件编译最常见的形式为:
extern
C语言中extern可以置于变量或则函数前,以表示变量或则函数的定义在别的文件中,提示编译器:遇到此变量或函数时在其他模块中寻找定义
这里需要注意的是:对于extern申明变量可以多次,但定义只有一次
typedef 定义一种类型的别名,而不是简单的宏定替换(有什么区别?),可以同时声明指针型的多个对象,
struct
结构体名 结构体变量
同一个类型的数据用数组,不同类型的数组使用结构体,这样以一个结构体(多参数的组合)或结构体指针作为入口参数,可以节省入口参数,而且增加、减少入口参数时,函数的声明不用再去更改。只需要定义好这样一个结构体,只需要改变结构体的成员变量即可,对原有程序没有任何影响。
static
申明的局部变量,存储在静态存储区,在函数调用结束之后,不会被释放,它的值会一直保存下来——>具有记忆功能。
函数前边加static的话一般是为了说明该函数只在文件的内部引用。