关于keil编译器下指针指向数组警告的问题?

keil 3编译器
在同一个项目下
在一个辅助的C文件中定义了一个数组code aaa[3]={0x00,0x01,0x02};
在主文main.C中可以利用extern关键字调用其数组。
但是在用“aaa”作用指针指向时,提示“pointer to different object”这个警告
求高手帮忙解决和指导 谢谢
最新回答
冰月灵狐

2024-07-02 00:00:36

aaa已经被你定义成了常量数组,并且定位在code区中,所以aaa只能被作为code区的常量使用,如果你把aaa作为一个xdata*型(即指向xdata区)的指针传递给某个需要xdata*参数的函数,那么编译器就会警告。
记住:
code char* aaa;aaa是一个char型指针常量,指向默认的存储区域。
char code* aaa;aaa是一个char型指针变量,指向code区域
苍山有井名为空

2024-07-02 00:10:46

aaa这个对象的类型是unsigned char code *,你检查一下自己的指针类型声明吧。
注意区分以下两种:
unsigned char code *
code unsigned char *