C语言共用体是什么?

设有一共用体变量定义如下:uniondata{longw;floatx;inty;charz;}try;执行赋值语句try.w=123456;try.y=65;try.z... 设有一共用体变量定义如下:
union data
{ long w;
float x;
int y;
char z;
}try;
执行赋值语句try.w=123456;try.y=65;try.z=’*’;try.x=3.1416;后,共用体变量try的值是______。
什么是共用体变量,这个题怎么做?
展开
 我来答
cpucash
2014-01-27 · TA获得超过1584个赞
知道小有建树答主
回答量:1457
采纳率:66%
帮助的人:972万
展开全部
首先,try好像是保留字吧,不能用于变量名
抛开保留字不说,共用体就是所有的成员公用一个内存空间,空间的大小是最长的那个
你想这些成员赋值,那么就是想这个内存空间中写入数据,最后一次的改变就是try的最终值,你说是不?
所有你的赋值最后一个是x的赋值,那么try的值就是x的值3.1415
水墨风雨
2014-01-26 · TA获得超过200个赞
知道答主
回答量:77
采纳率:0%
帮助的人:62.4万
展开全部
共同体指的是
long w;
float x;
int y;
char z;
这几个变量用同一块内存,内存大小取这几个变量中的最大值
字节 long int float char double

16位机 4 2 4 1 8

32位机 4 4 4 1 8

64位机 8 4 4 1 8
如果是32位机上面一个共同体变量占4个字节,如果是64位机,占8个字节
所以答案应该是3.1416
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9c1bf95
2014-01-26 · TA获得超过495个赞
知道小有建树答主
回答量:320
采纳率:0%
帮助的人:310万
展开全部
答案应该是 3.1416
共用体可以存储不同数据类型,但是只能同时存储其中一种类型。

所以当执行完try.x = 3.1416的时候,此时共用体存储的是float类型,自然try的值是3.1416
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liucuocun
2014-01-27 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:77.3万
展开全部
共用体就像一词多义一样,它让同一个变量有不用的类型。就像一个人有多个不同的称呼一样,不管这个人在不同的场合下称呼是什么,都是指代这个人,同一个人。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CBRNprotection
2014-01-26
知道答主
回答量:72
采纳率:0%
帮助的人:23万
展开全部
所谓共用体类型是指将不同的数据项组织成一个整体,它们在内存中占用同一段存储单元。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式