在C/C++编程中, 经常会用到 #define
关键字, 但是在学习C/C++基础知识的时候老师一般很少会深入讲解它的所有功能, 一般是用的时候再去了解, 这人我总结了一下常见的用法, 如有遗漏欢迎指出.
- 下面通过简单的说明几个例子说明这几个的用法
修饰常亮
...
#define PI 3.14
#define COUNTRY "CHINA"
#define SECOND_PER_YEAR (60 * 60 * 365)
int main()
{
printf("PI = %f\n", PI);
printf("COUNTRY = %s\n", COUNTRY);
printf("SECOND_PER_YEAR = %d\n", SECOND_PER_YEAR);
}
- 打印结果
PI = 3.14
COUNTRY = CHINA
SECOND_PER_YEAR = 86400
修饰表达式
...
#define ADD(a, b) ((a) + (b))
int main()
{
int a = 23;
int b = 54;
int c = ADD(a, b);
printf("a + b = %d\n", c);
}
- 打印结果
a + b = 77
修饰函数
...
#define LOG(format, ...) fprintf(stdout, format, ##__VA_ARGD__)
#define SWAP(x, y) do {\
x = x + y;\
y = x - y;\
x = x - y;\
} while (0)
int main()
{
LOG("hello world!\n");
LOG("PI = %d\n", 3.14);
LOG("%d hours a day\n", 24);
int a = 10;
int b = 20;
SWAP(a, b);
printf("a = %d\n", a);
printf("b = %d\n", b);
}
- 打印结果
hello world!
PI = 3.14
24 hours a day
a = 20
b = 10
备注:欢迎关注个人微信公众号 IoTlittleHu , 第一时间获取最新文章。提供一个QQ交流群, 欢迎入群,共同学习!共同进步!
