每當我介紹變量並打印他們的地址時,顯然他們傾向於存儲在具有固定間距的地方,從我介紹的第一個或最後一個變量(取決於編譯器)開始。C++中的內存分配
C++實際上是否以一種方式分配內存:在特定時間引入的所有變量都被賦予其內存一行?如果是這樣的話,對內存管理來說不是壞事,因爲編譯器必須確保它找到足夠的空間來爲我們在一行中引入的所有變量提供內存。
例如,
int a, b, c;
當我打印&a
,&b
,&c
, 然後,我有編譯器的一個答案是:
0xbffe2534
0xbffe2538
0xbffe253c
正如你可以看到&b-&a=4
和&c-&b=4
在另一個編譯器,答案是:
0xbffe2534
0xbffe2538
0xbffe253c
再次&b-&a=4
和&c-&b=4
。