打印
[MCU]

义隆单片机指针指向常量数组的问题

[复制链接]
7481|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hxdjb|  楼主 | 2021-8-23 19:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
const unsigned char Data[6] = {11,12,13,14,15,16};
unsigned char *ptr = Data;
用义隆的uEIDE编译报错
Error TCC: invalid initialization type; found `pointer to  const  unsigned char' expected `pointer to unsigned char'
常量数组是在rom区,我只是通过指针去访问这个数组。
义隆的可以用一个指针指向ROM区的一个内存吗(51的是可以的),按51的写编译报错。
uchar *ptr=(uchar*)0x11,这样又指向了RAM区,怎么改可以指向ROM区的地址为0x11的内存。

使用特权

评论回复

相关帖子

沙发
叶春勇| | 2021-8-23 22:47 | 只看该作者
data前面加强制转换行不行?

使用特权

评论回复
板凳
elife| | 2021-8-23 23:25 | 只看该作者
我一般用unsigned char num;   使用时用Data[num]。

使用特权

评论回复
地板
sjnh| | 2021-8-24 07:21 | 只看该作者
const unsigned char Data[6] = {11,12,13,14,15,16};
const unsigned char *ptr = Data;
unsigned char *ptr  是定义一个指针,指针指向的内容可以更改
const unsigned char *ptr 指针指向的内容不能更改(指针可以改变)
这个是C语言的规则,不单独是义隆的

使用特权

评论回复
5
m564522634| | 2021-8-24 09:10 | 只看该作者
你 都const了

使用特权

评论回复
6
waaini| | 2021-8-24 11:56 | 只看该作者
建议看看常量指针和指针常量的区别

使用特权

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

本版积分规则

131

主题

242

帖子

2

粉丝