首页 百科知识 共用体的定义

共用体的定义

时间:2022-10-03 百科知识 版权反馈
【摘要】:共用体数据类型与结构体在形式上非常相似,但其表示的含义及存储空间是完全不同的。而形同结构体的共用体类型实际占用存储空间为其最长的成员所占的存储空间。对共用体的成员的引用与结构体成员的引用相同。图11-3中特别说明了共用体的特点,方便程序设计人员在同一内存区对不同数据类型的交替使用,增加灵活性,节省内存。

uniondata

{inta;

floatb;

doublec;

chard;

}obj;

该形式定义了一个共用体数据类型uniondata,定义了共用体数据类型变量obj。共用体数据类型与结构体在形式上非常相似,但其表示的含义及存储空间是完全不同的。先看一个例子。

【例11.8】

uniondata/*共用体*/

{inta;

floatb;

doublec;

chard;

}mm;

structstud/*结构体*/

{inta;

floatb;

doublec;

chard;

};

main()

{structstudstudent

printf("%d,%d",sizeof(structstud),sizeof(uniondata));

运行程序输出:

15,8

程序的输出说明结构体类型所占的内存空间为其各成员所占存储空间之和。而形同结构体的共用体类型实际占用存储空间为其最长的成员所占的存储空间。详细说明如图11-3所示。

图11-3

对共用体的成员的引用与结构体成员的引用相同。但由于共用体各成员共用同一段内存空间,使用时,根据需要使用其中的某一个成员。图11-3中特别说明了共用体的特点,方便程序设计人员在同一内存区对不同数据类型的交替使用,增加灵活性,节省内存。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈