我想知道我是否有这样的结构:
typedef struct {
char element;
} element_t;
现在是条件:
sizeof(elem.element) == sizeof(element_t) == 1
仅适用于某些架构,或者总是那样?我的意思是,任何对齐都可以在这里发生,所以它可以是:
(sizeof(elem.element) == 1) != (sizeof(element_t) == 4)
如果结构中的数据与32位体系结构中的4字节边界对齐。
答案 0 :(得分:2)
sizeof(elem.element)
保证为1(但不保证它只能保存8位)。
无法保证sizeof(element_t) == 1
,但在所有实际架构中,我相信它的大小为1。