学习考试,我遇到了一个有趣的问题。查找具有不同实例的结构的地址
我有一个结构:
struct vehicle {
long carId;
short wheels:3;
short fuelTank : 6;
short weight;
} x[5][5];
和x的地址被0xaaa和内存在的4的倍数这将是X [1]的地址一致?
我不知道从哪里开始,但是我发现结构的大小是16,当x [5] [5]是400时结构的大小显然是16的倍数。 其中之一是的答案:
a) 0xD2 b) 0xEA c)0xDC d) 0xAB
但我不知道如何从0xaaa到这些之一。
你是如何得出的结论是,结构的大小是16? – Cristik
@Cristik using(sizeof(x)) –
好的,但是这会给你使用与你的机器相对应的内存对齐方式的struct的大小,它不一定与考试问题的值相同。在计算结构的大小时,需要考虑到这一点。 – Cristik