关于指向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;
[解决办法]
两种方法都是可以的。
字节访问的时候还要注意存储器架构是大端模式还是小端模式。