重学c/c++之预处理
创始人
2024-04-25 06:31:57
0

预定义符号

这些定义符号都是语言内置的

 printf("%s\n",__FILE__);//绝对路径printf("%d\n",__LINE__);//代码所在的行号printf("%s\n",__DATE__);//Dec 17 2022(日期)printf("%s\n",__TIME__);//20:47:25(时间)printf("%s\n",__FUNCTION__ );//main(函数名)

define定义标识符

#define MAX 100       //代替数字
#define STR "呵呵"    //代替字符串
#define reg register //代替关键字
#define do_forever for(;;) //代替一段代码

define 定义宏

参数替换到文本中

#define SQUARE(X) X*X
int main() {int ret= SQUARE(5);//25return 0;
}//#的使用,传递参数名
#define PRINT(X) printf("the value of " #X " is %d\n",X)
int main() {int a=10;int b=20;PRINT(a);//the value of a is 10PRINT(b);//the value of b is 20
}
//##的使用,将两端的符号拼接
#define CAT(X,Y) X##Y
int main() {int Class84=2022;printf("%d", CAT(Class,84));
}

相关内容

热门资讯

第158篇 合约安全-self... solidity 可以通过调用 selfdestruct 从区块链中删除合约; selfdestru...
高等数学笔记(下) 向量代数与空间解析几何 方向角 一个向量v⃗=(x,y,z)\vec v=(x,y,...
VPP开启调试trace 注册如下的命令trace add,开启记录报文信息,参数为节点名称和记录...
Rust入门(四):程序结构和... Rust程序结构 rust中有多种的模块系统来实现程序的结构,包括 包(...
前端学习路线整理 HTML\CSS 黑马课程HTML5+CSS3+移动web开发实战 JS࿱...
Vuejs设计与实现7-组件实... 九、组件实现原理 渲染组件 一个组件内部必须要使用 render 进行渲染,且返回虚拟...
Xxx综合业务平台巡检记录 附件一:运维台账Xxx综合业务平台巡检记录 用    户: xx省交...
gitlab-ci.yml关键... inherit 示例 inherit:default 选择当前作业继承的全局默认值 可能的取值 tr...
期货是衍生产品(期货衍生产品法... 期货算衍生品吗? 国外金融网站都将商品期货归纳为商品(COMMODITY),是和股票、...
安装运行Hyperf 上回讲到,我们对一个普通的 Laravel 框架进行了改造,让它可以在 ...