C语言中的宏定义资料简介.docx

1. 简单宏定义 简单的宏定义有如下格式: [#define指令(简单的宏)]  #define? 标识符替换列表 替换列表是一系列的C语言记号,包括标识符、关键字、数、字符常量、字符串字面量、运算符和标点符号。当预处理器遇到一个宏定义时,会做一个 “标识符”代表“替换列表”的记录。在文件后面的内容中,不管标识符在任何位置出现,预处理器都会用替换列表代替它。 不要在宏定义中放置任何额外的符号,否则它们会被作为替换列表的一部分。一种常见的错误是在宏定义中使用 = : 1. #define?N?=?100???????/***?WRONG?***/?? 2. int?a[N];????????????/*?会成为?int?a[=?100];?*/?? 在上面的例子中,我们(错误地)把N定义成一对记号(= 和100)。 在宏定义的末尾使用分号结尾是另一个常见错误: 1. #define?N?100;???????/***?WRONG?***/?? 2. int?a[N];????????????/*????become?int?a[100;];?*/?? 这里N被定义为100和;两个记号。 在一个宏定义中,编译器可以检测到绝大多数由多余符号所导致的错误。但不幸的是,编译器会将每一处使用这个宏的地方标为错误,而不会直接找到错误的根源——宏定义本身,因为宏定义已经被预处理器删除了。 简单的宏

文档评论(0)

1亿VIP精品文档

相关文档