如果我有一个结构,说:
struct A {
int a,b,c,d,e;
}
A m;//struct if 5 ints
int n[5];//array of 5 ints.
我知道数组中的元素是一个接一个地存储的,所以我们可以使用 *(n+i) 或 n[i]
但是在结构的情况下,每个元素是否彼此相邻存储(在结构 A 中)?
最佳答案
编译器可以根据需要插入填充,除了在第一项之前。
在 C++03 中,您可以保证在访问说明符之间增加项目的地址。
我不确定访问说明符限制在 C++11 中是否仍然存在。
关于c++ - 存储在结构中的元素是否彼此相邻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998080/