打印
[开发资料]

#define预编译指令

[复制链接]
157|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2024-8-15 09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define预编译指令
顾名思义,这个指令的含义是“定义”,大家可以把该指令视为一种文本的替换。详细在下面代码展示

//使用该指令定义了一个数
#define PI 3.14
//那么大家在后面的调用中就是直接使用PI就可以了
float Circle_Area = PI * r*r;
//实际在编译器编译的时候就会把字符PI替换成3.14,所以在编译器眼中实际上上述等式的样子如下
float CirCle_Area = 3.14 * r*r;

//再例如有时候大家喜欢写一些宏定义“函数”
#define MIN(x,y)(x>y)?x:y;   //两个数比大小

//在程序猿们的眼里,代码编写如下
uint8_t num_A = 3;
uint8_t num_B = 6;
uint8_t min_num;
min_num = MIN(num_A,num_B);

//但是在编译器的眼中这段代码如下
min_num = (num_A<num_B)?num_A:num_B;

//而如果是仅仅是做了一个定义,它并不是毫无意义的,编译器会把这个定义作为一个标识符暂时存放,表明该字符已经进行过了定义声明。
#define FUNC_ENABLE    //编译器就会把这个字符串认为是一个已经定义的标识符

使用特权

评论回复
沙发
小小蚂蚁举千斤| | 2024-8-15 13:24 | 只看该作者
#define预编译指令能够节省C的运行效率

使用特权

评论回复
板凳
中国龙芯CDX| | 2024-8-20 15:45 | 只看该作者
#define预编译指令视为一种文本的替换

使用特权

评论回复
地板
小夏天的大西瓜| | 2024-8-20 16:19 | 只看该作者
#define预编译指令一般比较实用,而且非常符合编程需求

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

235

主题

1942

帖子

4

粉丝