第6章预处理 白雪飞 baixfaustc. edu.cn 中国科学技术大学电子科学与技术系 Dept of Elec. Sci. Tech, USTC Fal22003
白 雪 飞 baixf@ustc.edu.cn 中国科学技术大学电子科学与技术系 Dept. of Elec. Sci. & Tech., USTC Fall, 2003 第6章 预 处 理
目录 ●预处理 ●宏定义 文件包含 条件编译 C语言程序设计-第6章预处理2
C语言程序设计 - 第6章 预处理 2 目 录 ⚫ 预处理 ⚫ 宏定义 ⚫ 文件包含 ⚫ 条件编译
预处理( Preprocessor) ●预处理 在编译之前对源程序进行“预处理” ■预处理命令不是C语句,末尾没有分号 ■预处理命令不在可执行文件中执行 ■预处理命令都以#开始 包括宏定义、文件包含、条件编译等 举例 ■# define mAx1000 ■#inc1ude< stdio.h> C语言程序设计-第6章预处理
C语言程序设计 - 第6章 预处理 3 预处理 (Preprocessor) ⚫ 预处理 ◼ 在编译之前对源程序进行“预处理” ◼ 预处理命令不是C语句,末尾没有分号 ◼ 预处理命令不在可执行文件中执行 ◼ 预处理命令都以#开始 ◼ 包括宏定义、文件包含、条件编译等 ⚫ 举例 ◼ #define MAX 1000 ◼ #include <stdio.h>
宏( Macro)定义 无参数的宏定义 带参数的宏定义 C语言程序设计-第6章预处理4
C语言程序设计 - 第6章 预处理 4 宏(Macro)定义 ⚫ 无参数的宏定义 ⚫ 带参数的宏定义
无参数的宏定义 般形式 # define标识符字符串 说明 ■把源程序中相应标识符予以替换 仅是简单的字符串替换,没有任何语法正确 性检查 有效范围从定义处开始,到文件结束,或者 由# undef命令终止作用域 ■行末没有分号,如有分号将会被一起替换 C语言程序设计-第6章预处理5
C语言程序设计 - 第6章 预处理 5 无参数的宏定义 ⚫ 一般形式 ◼ #define 标识符 字符串 ⚫ 说明 ◼ 把源程序中相应标识符予以替换 ◼ 仅是简单的字符串替换,没有任何语法正确 性检查 ◼ 有效范围从定义处开始,到文件结束,或者 由#undef命令终止作用域 ◼ 行末没有分号,如有分号将会被一起替换