首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

关于指向int数据的uchar指针解决方案

2012-06-02 
关于指向int数据的uchar指针例如uint ABC{0x1234,0x5678,0x9012,}如果我想定义一个指针,让其指向ABC的某

关于指向int数据的uchar指针
例如
uint ABC={0x1234,0x5678,0x9012,};

如果我想定义一个指针,让其指向ABC的某一个字节

uchar *ptr;
uchar temp;
ptr=ABC;
temp=*ptr;//temp=0x12;
ptr++;
temp=*ptr;//temp=0x34;


但KEIL C下这样会有一个警告
SCFUNCTION.C(1018): warning C182: pointer to different objects

请问下大家有什么办法能"正常"的定义这样的指向不同数据类型的指针?

[解决办法]
uint ABC[]={0x1234,0x5678,0x9012};
ptr=(Uchar *)&ABC[0];

[解决办法]
ptr=(unsigned char * )ABC;

[解决办法]
两种方法都是可以的。

字节访问的时候还要注意存储器架构是大端模式还是小端模式。

热点排行