[問題] 記憶體配置內容heap,stack...

作者: peng0116   2016-02-03 14:43:27
問題(Question):請問記憶體配置text, data, bss, heap, stack五個區塊中,
C的結構structure是存在哪一個區塊呢?
struct
{
int a;
int array[100];
}TEST;
作者: stupid0319 (徵女友)   2016-02-03 14:55:00
structure是一種概念,不存在於哪個區塊.........
作者: peng0116   2016-02-03 15:11:00
概念!?怎麼可能不存在記憶體區塊內...那變數存哪了...
作者: stupid0319 (徵女友)   2016-02-03 15:20:00
全域變數應當是放在data,區域變數在執行時會放stack
作者: tjhuang (Jacob)   2016-02-03 15:22:00
確實 struct 的宣告不存在記憶體內,只是指示 offset
作者: stupid0319 (徵女友)   2016-02-03 15:23:00
至於struct是程式設計師的定義,此定義不存在於記憶體
作者: dorgonman (dorgonman)   2016-02-03 15:23:00
TEST在這裡是放在data區
作者: tjhuang (Jacob)   2016-02-03 15:23:00
例如你的 TEST.array 就只是標示 shift 4 bytes
作者: peng0116   2016-02-03 15:29:00
了解,所以是看宣告struct TEST test;在全域還是區域
作者: odanaga (PixiyON)   2016-02-03 18:22:00
清大資工所
作者: Caesar08 (Caesar)   2016-02-03 18:26:00
樓上啥意思?
作者: cobrasgo (人魚線變成鮪魚線,超帥)   2016-02-03 18:43:00
還要看前面有沒static
作者: LPH66 (-6.2598534e+18f)   2016-02-03 18:55:00
原 PO 你應該誤解了宣告...你原文裡的宣告 TEST 是變數名跟著 struct 這個關鍵字後面的才是這 struct 的名字所以像這個宣告是一個無名 struct, 然後宣告 TEST 為此型態
作者: odanaga (PixiyON)   2016-02-03 21:23:00
今年清大資工所出了這樣的題目
作者: tinlans ( )   2016-02-04 03:35:00
今年?所以題目還沒放上網嗎?
作者: odanaga (PixiyON)   2016-02-05 17:32:00

Links booklink

Contact Us: admin [ a t ] ucptt.com