C语言宏用法.doc
宏替换只作替换,不做计算,不做表达式求解,不做类型检查…
可以用#undef命令终止宏定义的作用域。
宏定义可以嵌套,最多替换200+次(具体记不清了)。
防止文件重复包含
#ifndef XXX_H_
#define XXX_H_
…
#endif
编译过程控制
#ifdef _DEBUG
…
#else
…
#endif
定义常量
#define PI 3.14
带参数的宏
#define max(a,b) ((a) (b) ? (a) : (b))
包含多个语句的宏
#define msg(str) do \
{ \
…;\
…;\
}while(0)
#和##的用法
宏替换会把#后面的内容作为字符串进行替换,例子:
#define PASTE(n) abc#n
替换之后相当于”abc””n”
比如PASTE(12) - “abc12”
##用于把两侧的参数合并成一个符号,例子:
#define composite(a,b,c) a##b##c
则composite(12,12,11) - 121211
composite(“aa”,”bb”,”cc”) - “aabbcc”
注意:当宏参数是另一个宏的时候,会递归展开,但用#或##的(该)宏参数不会再展开。
a.宏定义中不存在#和## #define two 2
#defi
您可能关注的文档
- 2深圳市2017年公开招考公务员报考指南doc-附件2.doc
- 3.5最大值、最小值及其应用.ppt
- 33ISDN交换技术-马鞍山职业与成人教育网.ppt
- 3广西壮族自治区2016年度考试录用公务员工作时间安排表.doc
- 5、重农学派5.1概述5.1.1法国资产阶级革命前夜的社会状况.ppt
- 6#山梁堆渣沟综合治理工程.doc
- 6.附件五《2014媒体金印奖企划作品过程描述规格PPT2--全面.ppt
- AAthena艺术之神雅典娜——智慧的化身Logos道(遵循.ppt
- AdHoc安全防护.ppt
- AFS医疗手册摘要.doc
- 2026年中小学教师编制考试政治学科专业知识考试试卷及答案(共十套).docx
- 2026年1—4月时事政治考试卷及答案(共七套).docx
- 2026年社会工作者职业资格考试(初级)押题试卷及答案(共十一套).docx
- 2026年1—4月时事政治考试卷及答案(共八套).docx
- 2026年知识产权保护知识培训考试试卷及答案(共八套).docx
- 2025年6月—2026年4月时事政治试卷及答案(共二十套).docx
- 2026年知识产权保护知识竞赛试卷及答案(共十九套).docx
- 2026年知识产权保护知识培训考试试卷及答案(共十九套).docx
- 2026年中小学教师编制考试政治学科专业知识考试试卷及答案(共十九套).docx
- 2026年知识产权保护知识竞赛试卷及答案(共十八套).docx
原创力文档

文档评论(0)