当前位置: 代码迷 >> 单片机 >> 关于指向int数据的uchar指针解决方案
  详细解决方案

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

热度:26   发布时间:2016-04-28 15:55:43.0
关于指向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;

------解决方案--------------------
两种方法都是可以的。

字节访问的时候还要注意存储器架构是大端模式还是小端模式。
  相关解决方案