✨博客主页 | |
---|---|
何曾参静谧的博客 | |
📌文章专栏 | |
「C/C++」C/C++程序设计 | |
📚全部专栏 | |
「UG/NX」NX二次开发 | 「UG/NX」BlockUI集合 |
「VS」Visual Studio | 「QT」QT5程序设计 |
「C/C++」C/C++程序设计 | 「Win」Windows程序设计 |
「算法」数据结构与算法 | 「File」数据文件格式 |
宏定义 #define
注意事项:
- 宏定义的名称通常使用
大写字母
,并使用下划线来分隔单词。- 宏定义必须以
#define
开头,定义的常量、函数、代码块等必须是合法的C语句。- 宏定义可以包含参数,从而使得宏可以在不同的场景下进行重用。
- 宏定义可以使用反斜杠(
\
)对代码进行换行,以便于阅读和维护。- 宏定义在代码被编译之前就会被预处理器处理,所以宏定义是一种文本替换的手段,替换的过程是简单的字符串替换,因此要特别注意宏定义带来的潜在问题,比如优先级、参数的多次计算等等。
定义常量
这个宏定义了一个名为 PI 的常量,并将其值设定为 3.1415926。
例子中PI会被替换成3.14159
#define PI 3.1415926
定义函数
这个宏定义了一个名为 MAX 的函数,并使用三目运算符定义了其功能,即返回两个参数中的较大值。
例子中,MAX(a,b)会被替换成((a)>(b)?(a):(b))。
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define DIM(a) (sizeof(a)/sizeof(*a))
定义代码块
在预处理过程中,宏会被直接替换成相应的值文章来源:https://www.toymoban.com/news/detail-574214.html
#define DO_SOMETHING { \
printf("Hello, "); \
printf("world!"); \
}
常用标识符
__FILE__:文件名
__LINE__:行号
__FUNCTION__:函数名
__DATE__:编译日期
__TIME__:编译时间
_MSC_VER:编译器版本号
用宏包含头文件
#define INCLUDE_STRING_HEADERS \
#include <iostream> \
#include <fstream> \
#include <cstring>
文章来源地址https://www.toymoban.com/news/detail-574214.html
到了这里,关于「C/C++」C/C++宏定义#define的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!