【发布时间】:2017-08-07 23:29:08
【问题描述】:
我们知道结构的内存是在定义变量时(或创建实例时)分配的。
现在
struct Programmer {
int skills;
int problemSolved;
};
int main(){
Programmer me;//Here the memory will be allocated but in what
//format(discrete or continuous block of memory)?
me.skills = 10;
me.problemSolved = 2000;
return 0;
}
分配给结构实例或变量的内存是连续块(如数组)还是离散块?如果是,那为什么?
【问题讨论】:
-
是的,但请记住有填充(并非总是如此)。
-
在结构中,您可以保证的只是成员将按照声明的顺序进行分配。允许编译器插入“填充”字节,作为对齐目的的示例。
-
@ThomasMatthews——还保证
struct的开头不会有填充。
标签: c++ c memory structure instance