首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不带变量的易失性指针

不带变量的易失性指针
EN

Stack Overflow用户
提问于 2018-02-10 02:12:16
回答 1查看 58关注 0票数 0

在C语言中,当我想把数字5放在地址0x28时,我可以这样做:

代码语言:javascript
复制
char* x = (char *) 0x28;
*x = 5;

如果我愿意,我可以在不声明变量的情况下做同样的事情:

代码语言:javascript
复制
*((char *) 0x28) = 5;

如果我想让编译器把这个地址当作易失性地址,我可以这样做:

代码语言:javascript
复制
volatile char* x = (char *) 0x28;
*x = 5;

我可以在不声明变量的情况下这样做吗?

编辑:让我解释一下为什么我要做"*((char *) 0x28) = 5“。我为ATmega32U4编写了一个闪烁的发光二极管hello world程序,我知道地址0x28决定了我的发光二极管所连接的引脚。它确实起作用了:你建议的C代码被编译成正确的机器代码,然后LED闪烁。

EN

回答 1

Stack Overflow用户

发布于 2018-02-10 02:15:05

这很简单:

代码语言:javascript
复制
*((volatile char *) 0x28) = 5;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48711808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档