打印
[C语言]

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

[复制链接]
1381|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 | 只看该作者
如果真需要在程序里改变,那不如定义成变量。

使用特权

评论回复
5
gaoyang9992006| | 2023-7-13 22:30 | 只看该作者
宏不会在程序里改变,只会在编译前进行汇编时候改变。所以你只能在改变前用新的宏替换,如果是在程序里不可预期的改变,那只能定义成变量。

使用特权

评论回复
6
zlf1208| | 2023-7-14 08:18 | 只看该作者
改了宏定义,那么所有引用这个宏定义的地方都被改变了,可能有些你不知道的地方也一起被改了,所以这样做不是很安全,建议你另外写一个宏定义,以消除隐患

使用特权

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

本版积分规则

164

主题

1166

帖子

2

粉丝