条件编译
按照条件是否满足决定代码是否被编译,是预处理指令。
简单来说就是 后面的条件语句(condition)如果执行结果不为0,则该#if语句块内的代码会被编译,否则就不会被编译。
根据宏是否定义
#define 宏名
#ifdef 宏名
代码块1
#else
代码块2
#endif
执行顺序:如果宏定义了则编译代码块1,否则编译代码块2
根据宏值
#define 宏名 值
#if 宏名
代码块1
#else
代码块2
#endif
执行顺序:宏的值为非0也就是真则编译代码块1,否则编译代码块2
防止头文件重复包含
放在头文件中:
#ifndef 宏名
#define 宏名
头文件中语句
#endif
报错结构体stu重复定义,因为head.h被多次引用,而其中定义了结构体stu所以结构体重复定义了。
修改:加上防止头文件重复包含
编译通过
至此,Linux C高级课程已学完,后面依旧会穿插练习。下一门课程 数据结构见