- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语言高级编程-共用体及typedef
共用体
共用体的概念
在C语言中,不同数据类型的数据可以使用共同的存储区域,这种数据构造类型称为共用体,简称共用,又称联合体。共用体在定义、说明和使用形式上与结构体相似。两者本质上的不同仅在于使用内存的方式上。
定义一个共用体类型的一般形式为:
union共用体名
{
成员表列;
};
共用体
例如:
uniongy
{
inti;
charc;
floatf;
};
就里定义了一个共用体类型uniongy,它由三个成员组成,这三个成员在内存中使用共同的存储空间。由于共用体中各成员的数据长度往往不同,所以共用体变量在存储时总是按其成员中数据长度最大的成员占用内存空间。
共用体
在这一点上共用体与结构体不同,结构体类型变量在存储时总是按各成员的数据长度之和占用内存空间。
例如,定义了一个结构体类型:
structgy
{
inti;
charc;
floatf;
};
则结构体类型structgy的变量占用的内存大小为2+1+4=7个字节(不考虑字节对齐)。
共用体
在使用共用体类型变量的数据时要注意:在共用体类型变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。如有以下赋值语句:
a.i=1;
a.c=’a’;
a.f=1.5;
完成以上三个赋值运算以后,a.f是有效的,a.i和a.c已经无意义了。
共用体
在程序中经常使用结构体与共用体相互嵌套的形式。
即共用体类型的成员可以是结构体类型,或者结构体类型的成员是共用体类型。
共用体
例如,下列结构体类型datas的第三个成员是共用体类型:
structdatas
{
char*ps;
inttype;
union
{
floatfdata;
intidata;
charcdata;
}udata;
};
typedef
在C语言中,允许使用关键字typedef定义新的数据类型
其语法如下:
typedef已有数据类型新数据类型;
如:
typedefintINTEGER;
这里新定义了数据类型INTEGER,其等价于int
INTEGERi;==inti;
typedef
在C语言中经常在定义结构体类型时使用typedef,例如
typedefstruct_node_
{
intdata;
struct_node_*next;
}listnode,*linklist;
这里定义了两个新的数据类型listnode和linklist。其中listnode
等价于数据类型struct_node_而linklist等价于struct_node_*
您可能关注的文档
- 3纸样的裁切-任务一+纸和纸板检测前的准备-模块五+纸和纸板一般性能的检测+《制浆造纸分析与检测》课件.pptx
- 3纸板环压强度检测-任务二+纸和纸板机械强度性能检测(二)-模块六+纸和纸板机械强度性能检测+《制浆造纸分析与检测》课件.pptx
- 7纸和纸板紧度、松厚度检测-任务二+纸和纸板一般性能检测-模块五+纸和纸板一般性能的检测+《制浆造纸分析与检测》课件.pptx
- 5挺度检测-任务一+纸和纸板机械强度性能检测(一)-模块六+纸和纸板机械强度性能检测+《制浆造纸分析与检测》课件.pptx
- 4纸和纸板试透气度检测-任务二+纸和纸板其他性能检测-模块七+纸和纸板光学及其他性能的检测+《制浆造纸分析与检测》课件.pptx
- 4纸和纸板湿强度检测-任务二+纸和纸板机械强度性能检测(二)-模块六+纸和纸板机械强度性能检测+《制浆造纸分析与检测》课件.pptx
- 4纸和纸板灰分检测-任务二+纸和纸板一般性能检测-模块五+纸和纸板一般性能的检测+《制浆造纸分析与检测》课件.pptx
- 3纸张耐破度检测-任务一+纸和纸板机械强度性能检测(一)-模块六+纸和纸板机械强度性能检测+《制浆造纸分析与检测》课件.pptx
- 3纸和纸板吸收性检测-任务二+纸和纸板其他性能检测-模块七+纸和纸板光学及其他性能的检测+《制浆造纸分析与检测》课件.pptx
- 5纸和纸板定量检测-任务二+纸和纸板一般性能检测-模块五+纸和纸板一般性能的检测+《制浆造纸分析与检测》课件.pptx
- PPT定制、专业写作,设计美化, + 关注
-
实名认证服务提供商
专注于方案的个性定制,修改,润色,PPT定制、设计,本人已有5年相关工作经验,具有扎实的方案及设计功底,可接演讲稿,读后感,PPT定制等多方面工作,欢迎咨询
文档评论(0)