正如我們所知道的那樣,結構的內存在其變量被定義時(或者在創建實例時)被分配。C++中的結構內存分配
現在
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;
}
是對存儲器分配給結構實例或變量是連續的塊(如陣列)或在存儲器離散塊?如果是,那麼爲什麼?
是的,但請記住有填充(並非總是)。 – DimChtz
所有你可以在結構中保證的是,成員將按照它們被聲明的順序進行分配。允許編譯器插入「填充」字節,作爲對齊目的的示例。 –
@ ThomasMatthews--還有一個保證,在'struct'開頭不會有填充。 –