c--> #define 定义宏
#define 定义宏
宏(Macro)是预处理命令的一种,它允许用一个标识符来表示一个字符串
1.有关定义宏的代码末尾不需要添加";"(分号)
2.定义宏define在计算的式子中相当于替代,类似于数学中的需要带入数值的x
#include <stdio.h>
#define ADD(x,y) x+y
int main(){
printf("%d\n", 3 * 2 + ADD(2, 2) * 2);//3*2+2+2*2=12
return 0;
}
#include <stdio.h>
#define ADD(x,y) (x+y)
int main(){
printf("%d\n", ADD(2, 2) * 3);//(2+2)*3=12
return 0;
}
3.宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef
命令。例如:
#define PI 3.14159
int main(){
// Code
return 0;
}
#undef PI
void func(){
// Code
}
表示 PI 只在 main() 函数中有效,在 func() 中无效。
4.代码中的宏名如果被引号包围,那么预处理程序不对其作宏代替,例如:
#include <stdio.h>
#define OK 100
int main(){
printf("OK\n");
return 0;
}
运行结果:OK
语法:
define 宏名 宏的内容
带参宏定义的一般形式为:
#define 宏名(形参列表) 字符串
有两种形式:
类似与定义常量: #define MAX 100
类似与定义函数:#define ADD(x,y) x+y
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」