C语言学习之预处理器

  • Post author:
  • Post category:其他


C预处理器在源代码编译之前对其进行一些文本的操作,主要任务包括删除注释,插入被#include指令包含的文件的内容,定义和替换由#define指令定义的符号,以及确定代码的部分内容是否应该根据一些条件编译指令进行编译。

#define

#define        name        stuff

#define机制包括一个规定,允许把参数替换到文本中,这种实现通常称为宏或定义宏。

宏与函数

宏是与类型无关的;和使用函数相比,使用宏的不利之处在于每次使用宏时,一份宏定义代码的副本都将插入到程序中,除非宏非常短,否则使用宏可能会大幅增加程序的长度;宏的执行速度更快,函数的调用和返回会带来额外的开销。

#undef

#undef        name

上面这条预处理指令用于移除一个宏定义,如果一个现存的名字需要被重新定义,那么首先必须用#undef移除它的旧定义。



版权声明:本文为lizw1912原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。