假设您有一个指向大于本机类型整数的指针,最近的 C 规范对存储排序有何规定?例如:
volatile uint64_t *test = (volatile uint64_t *)(addr);
*test = 0;
在 32 位架构上,这将编译为两个存储,C 规范是否说明了哪个存储将是第一个(addr 或 addr+4)?或者它是实现定义的?
最近的 C 规格对商店订购有何规定?
字节序是实现定义的。
C 规范是否说明了哪个存储将是第一个(addr 或 addr+4)?
它是由实现定义的。可能是同时的。它甚至不需要保持一致。