[C语言] 单片机的C语言里面 可以改变宏定义内容吗?

[复制链接]
2313|5
 楼主| 清风致影 发表于 2023-7-13 16:42 | 显示全部楼层 |阅读模式
c文件里面我定义了一个宏定义比如
#define AAA   0

但我想在函数里面更改这个AAA的值为1,比如
main()
{
//更改AAA为1

}
该如何实现?
jack821119 发表于 2023-7-13 17:30 | 显示全部楼层
#define AAA 0
#undef AAA
#define AAA 1
delin17 发表于 2023-7-13 21:22 | 显示全部楼层
楼上的答案,是程序语言顺序上后面的AAA就是1了,从程序运行顺序上,要注意。可能不是你要的值了。
gaoyang9992006 发表于 2023-7-13 22:29 | 显示全部楼层
如果真需要在程序里改变,那不如定义成变量。
gaoyang9992006 发表于 2023-7-13 22:30 | 显示全部楼层
宏不会在程序里改变,只会在编译前进行汇编时候改变。所以你只能在改变前用新的宏替换,如果是在程序里不可预期的改变,那只能定义成变量。
zlf1208 发表于 2023-7-14 08:18 | 显示全部楼层
改了宏定义,那么所有引用这个宏定义的地方都被改变了,可能有些你不知道的地方也一起被改了,所以这样做不是很安全,建议你另外写一个宏定义,以消除隐患
您需要登录后才可以回帖 登录 | 注册

本版积分规则

165

主题

1168

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部