您好:
我用的是CCS5.5,软件仿真测试环境。编写如下代码
unsigned char a[6]; unsigned short b; void main() {a[0]=0x08; a[1]=0x00; b=*((unsigned short*)(&a[0])); }
结果b为8;
unsigned char a[6];
unsigned short b;
void main()
{a[1]=0x08;
a[2]=0x00;
b=*((unsigned short*)(&a[1]));
}
结果为2048。。
最后一句b=*((unsigned short*)(&a[n]));
其中的n为0 2 4的时候,结果是8
n为1 3 的时候,结果不是8.请问为什么,万分感谢!!
Tony Tang:
这是正常的啊,这是对齐的问题。