【发布时间】:2013-07-21 05:42:30
【问题描述】:
any_t 是任何类型(int、struct something、...)。
考虑这个结构:
struct my_struct {
any_t val,
any_t array[10]
}
如果我定义一个变量v:
struct my_struct v;
将&v.val 用作包含11 个any_t 项的数组是否安全?
any_t *p = &v.val;
f(p[0]);
f(p[5]);
f(p[10]);
是否保证val 和array 之间不会添加填充?
【问题讨论】:
-
您可以使用#pragma pack(1) 来保证成员之间没有间距