1. 定义
#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。
该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。
(1)简单的宏定义:
#define <宏名> <字符串>
例: #define PI 3.1415926
(2) 带参数的宏定义
#define <宏名> (<参数表>) <宏体>
例: #define A(x) x
2. 宏替换
编译预处理是实现以下功能:
(1)文件包含
可以把源程序中的#include 扩展为文件正文,即把包含的.h文件找到并展开到#include 所在处。
(2)条件编译
预处理器根据#if和#ifdef等编译命令及其后的条件,将源程序中的某部分包含进来或排除在外,通常把排除在外的语句转换成空行。
(3)宏展开
预处理器将源程序文件中出现的对宏的引用展开成相应的宏 定义,即本文所说的#define的

本文详细介绍了C++中的宏定义,包括简单的宏定义和带参数的宏定义,阐述了宏替换的过程,强调了在函数式宏定义中防止歧义的重要性。宏定义的优点在于方便程序修改和提高运行效率,但需谨慎使用以避免潜在问题。文章还讨论了三种特殊用法,如拼接字符串和转换数字类型,并给出了C语言中函数式宏返回不同数据类型平方的例子。
最低0.47元/天 解锁文章

1957

被折叠的 条评论
为什么被折叠?



