Uint32 a[4];
printf("&a=%#x\n",&a); //&a=0x200005a0
*(Uint32*)0x200005a0=0x23456789;
printf("a[0]=%#x\n",a[0]); //a[0]=0x23456789,这里能理解
printf("a[1]=%#x\n",a[1]); //a[1]=0xefcdab98
*(Uint32*)0x200005a1=0xabcdef12;
printf("a[0]=%#x\n",a[0]); //a[0]=0xcdef1289,为什么这里会变成这样
printf("a[1]=%#x\n",a[1]); //a[1]=0xefcdabab
printf("a[2]=%#x\n",a[2]); //a[2]=0x31fff04f,a[2]、a[3]值不变
printf("a[3]=%#x\n",a[3]); //a[3]=0xd11c62b9
为什么这么赋值后,a[0]、a[1]内的内容会变成这样???
还请各位看一看,指导指导 |