第8章 编译预处理与重新定义数据类型.docVIP

  • 7
  • 0
  • 约6.25千字
  • 约 13页
  • 2017-06-22 发布于湖北
  • 举报

第8章 编译预处理与重新定义数据类型.doc

第8章 编译预处理及重新定义数据类型 所谓编译预处理,是编译器在对C语言源程序进行正常编译之前,先对一些特殊的预处理命令作解释,产生一个新的源程序。编译预处理主要为程序调试、移植等提供便利,是一个非常实用的功能。 8.1 宏定义 在源程序中,为了区分预处理命令和一般的C语句的不同,所有预处理命令行都以符号“#”开头,并且结尾不用分号。预处理命令可以出现在程序任何位置,但习惯上尽可能地写在源程序的开头,其作用范围从其出现的位置到文件尾。 C语言提供的预处理命令主要有:宏定义、文件包含和条件编译。其中宏定义分为带参数的宏定义和不带参数的宏定义。 8.1.1 不带参数的宏定义 不带参数的宏定义的一般形式为: #define 标识符 字符串 它的作用是在编译预处理时,将源程序中所有标识符替换成字符串。例如: #define PI 3.14 #define uint unsigned int 当需要修改元素时,只要直接修改宏定义即可,无需修改程序中所有出现元素个数的地方。所以宏定义,不仅提高了程序的可读性、便于调试,而且也方便了程序的移植。 无参数的宏定义使用时,要注意以下几个问题: 1.宏名一般用大写字母,以便于与变量名的区别。当然,用小写字母也不为错。 2.在编译预处理中宏名与字符串进行替换时,不作语法检查,只是简单的字符替换,只有在编译时才对已经展开宏名的源程序进行语法检查。

文档评论(0)

1亿VIP精品文档

相关文档