一、
*(volatile unsigned short int *)(0x60000000)=val;
0x60000000强制转换成short int *类型,那么val不就赋值给地址0x0000了吗?
【val转成无符号整形放在这个地址所指向的内容里,地址会不变】这个解释好像不能够解释出来哎
【0x60000000,就是地址。
(volatile unsigned short int *)(0x60000000)是将数值变成指针,指向无符号整形。
*(volatile unsigned short int *)(0x60000000)是取地址内的内容】这个解释好像可以的。
这个是指向指针的指针,你再怎么强转它还是指针,而指针的大小是根据你的平台来的,你的平台是32位的,那指针大小就是32位,同理64位平台大小就是64位。跟转换成什么类型的指针是无关的。