C语言中宏的预处理

C语言学习--宏的预处理
条件预处理
示例:
比如在开发是使用同一套代码实现debuger与releases版本的开发
可使用条件来完成开发
*****************************
#include <stdio.h>
main () {
#ifdef DEBUG
printf("=== debug info ======");
#endif
return 0;
}
我们可以实现通过在文件头部加入
#define DEBUG
来实现编译debuger版本。
或者可以在编译时使用 gcc -D
gcc -D DEBUG main.c
可以更好的实现一套源码两个版本。
宏的展开
使用宏可以使我们的代码更加优雅。
一个#表示的是将定义的内容变为string类型的字符串,而两#直接将内容变为代码。
示例:
字符串化:
#define X(a) #a
int main () {
printf(go!\n);
return 0;
}
=== 输出结果===
go!
连接符号
#define X(a) arr##a
int main () {
int arr1 = 5900;
printf("%d\n", X(1));
return 0;
}
=== 输出结果===
5900
posted @   看不见的R  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示