宏定义中宏名一般用大写,用以和一般的变量名区分开来,但是用宏名用小写也没有错;
对程序中用双引号括起来的字符串内的字符,不进行宏替换操作,
1 #include<stdio.h> 2 #define R 10 3 int main(int argc,const char *argv[],const chr **env[]) { 4 char *s = "Radio"; 5 return 0;//表示程序正常退出;return 1; 6 /*char *s = R"rui"*/ 7 }
终止宏定义的作用域可以使用#undef R
带参数的宏定义
注意宏名与参数列表之间不能有空格;
带参数的宏和函数的区别;
宏定义不涉及存储空间的分配,函数调用在程序运行时执行,而宏替换只能在编译预处理阶段进行,带参数的宏比函数具有更高的执行效率;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY