prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 2.19

Q结构体和联合体之间有什么区别?


A联合体本质上是一种结构体,其中所有成员都相互重叠;您一次只能使用一个成员。(您也可以通过写入一个成员并读取另一个成员来作弊,以检查类型的位模式或以不同方式解释它们,但这显然相当依赖于机器。)联合体的大小是其各个成员大小的最大值,而结构体的大小是其成员大小的总和。(在这两种情况下,大小都可能因填充而增加;请参阅问题 2.122.13。)

参考:ISO Sec. 6.5.2.1
H&S Sec. 5.7 pp. 140-145 esp. Sec. 5.7.4


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管