义隆单片机指针指向常量数组的问题
const unsigned char Data = {11,12,13,14,15,16};unsigned char *ptr = Data;
用义隆的uEIDE编译报错
Error TCC: invalid initialization type; found `pointer toconstunsigned char' expected `pointer to unsigned char'
常量数组是在rom区,我只是通过指针去访问这个数组。
义隆的可以用一个指针指向ROM区的一个内存吗(51的是可以的),按51的写编译报错。
uchar *ptr=(uchar*)0x11,这样又指向了RAM区,怎么改可以指向ROM区的地址为0x11的内存。
data前面加强制转换行不行? 我一般用unsigned char num; 使用时用Data。 const unsigned char Data = {11,12,13,14,15,16};
const unsigned char *ptr = Data;
unsigned char *ptr是定义一个指针,指针指向的内容可以更改
const unsigned char *ptr 指针指向的内容不能更改(指针可以改变)
这个是C语言的规则,不单独是义隆的 你 都const了 建议看看常量指针和指针常量的区别
页:
[1]