[问题] 内存配置内容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