我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 【求助】c语言问题-共用体的用法 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

fan



性别: 帅哥 状态: 该用户目前不在线
头衔: when u confuse,fuck.
等级: 荣誉会员
家族: fans
发贴: 10499
威望: 7
浮云: 415
在线等级:
注册时间: 2005-09-27
最后登陆: 2018-04-03

5come5帮你背单词 [ favor /'feivə/ n. 赞赏,嘉许,偏袒,偏爱,恩惠,善行;vt. 偏爱,赞同 ]


【求助】c语言问题-共用体的用法

RTRT

这个程序的返回值 为什么是7?
Quote:
#include "stdio.h"
union bt
{    int a;
   int b[2];
   };
void fun(union bt *c)
{    c->a=-7;
   c->b[0]=7;
   c->b[1]=8;
   };
main()
{    union bt c;
   fun(&c);
   printf("%d\n",c.a);
   }
顶端 Posted: 2006-09-07 22:41 | [楼 主]
fan



性别: 帅哥 状态: 该用户目前不在线
头衔: when u confuse,fuck.
等级: 荣誉会员
家族: fans
发贴: 10499
威望: 7
浮云: 415
在线等级:
注册时间: 2005-09-27
最后登陆: 2018-04-03

5come5帮你背单词 [ tan /tæn/ vt. 使变褐色;n. 日晒后的肤色 ]


类似的问题,为什么结果是9,5,6??
Quote:
#include "stdio.h"
union myun
{ struct
   { int x,y,z;}u;
       int k;}a;
main()
{    a.u.x=4;a.u.y=5;a.u.z=6;
   a.k=9;
   printf("%d%d%d\n",a.u.x,a.u.y,a.u.z);
   }
顶端 Posted: 2006-09-07 23:14 | [1 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ oblige /ə'blaid3ə/ vt. 迫使,施恩于,使满足,使感激 ]


union是公用的哈,它的空间是所有成员中最大那个

不象struct,结构体的空间是每个成员的一个和。。。

见示意图(b[0]=7,b[1]=8;所以a=b[0]=7)


[ 此贴被独飞の孤心在2006-09-08 10:13重新编辑 ]
远程图片:未命名.JPG
顶端 Posted: 2006-09-08 10:07 | [2 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ sin /sin/ n. 罪孽;vi. 犯罪 ]


#include "stdio.h"
union myun
{
   struct
    {
         int x,y,z;
    }u;
  struct
    {
         int x,y;
    }w;
}a;


main()
{  
   
  a.w.x=9;  
  a.w.y=0;  
  a.u.x=4;a.u.y=5;a.u.z=6;
  printf("%d%d%d\n",a.u.x,a.u.y,a.u.z);
}

这样输出就是456了
顶端 Posted: 2006-09-08 10:22 | [3 楼]
fan



性别: 帅哥 状态: 该用户目前不在线
头衔: when u confuse,fuck.
等级: 荣誉会员
家族: fans
发贴: 10499
威望: 7
浮云: 415
在线等级:
注册时间: 2005-09-27
最后登陆: 2018-04-03

5come5帮你背单词 [ wet /wet/ a. 湿的,潮的,多雨的,雨天的;vt. 弄湿 ]


Quote:
引用第2楼独飞の孤心于2006-09-08 10:07发表的:
union是公用的哈,它的空间是所有成员中最大那个

不象struct,结构体的空间是每个成员的一个和。。。

见示意图(b[0]=7,b[1]=8;所以a=b[0]=7)


应该是占的空间大小是里面最大的那个的大小吧。
不过我还是不明白,为什么a=b[0]
顶端 Posted: 2006-09-08 12:39 | [4 楼]
朱颜华发



性别: 保密 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1211
威望: 0
浮云: 1105
在线等级:
注册时间: 2006-04-16
最后登陆: 2007-08-07

5come5帮你背单词 [ enthusiasm /in'θju:ziæzəm/ n. 热心,热情,积极性 ]


晕死,楼上的你的也不是什么好法子
顶端 Posted: 2006-09-08 13:11 | [5 楼]
fan



性别: 帅哥 状态: 该用户目前不在线
头衔: when u confuse,fuck.
等级: 荣誉会员
家族: fans
发贴: 10499
威望: 7
浮云: 415
在线等级:
注册时间: 2005-09-27
最后登陆: 2018-04-03

5come5帮你背单词 [ have /hæv, həv/ v. 有,存在,进行,经历,遭受,使,让 ]


Quote:
引用第5楼朱颜华发于2006-09-08 13:11发表的:
晕死,楼上的你的也不是什么好法子

那就请你解释一下吧。
顶端 Posted: 2006-09-08 13:12 | [6 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ success /sək'ses/ n. 成功,成就,胜利 ]


你后来附值覆盖了-7

见图
顶端 Posted: 2006-09-08 13:31 | [7 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ declare /di'kl/ə/ v. 宣告,宣布,声明,断言,申报(纳税物品) ]


你后来附值覆盖了-7

见图

如果改成
  c->b[0]=7;
  c->b[1]=8;
  c->a=-7;



就输出-7了

而且b[0]也等于-7了
明白了吧
远程图片:未命名.JPG
顶端 Posted: 2006-09-08 13:31 | [8 楼]
fan



性别: 帅哥 状态: 该用户目前不在线
头衔: when u confuse,fuck.
等级: 荣誉会员
家族: fans
发贴: 10499
威望: 7
浮云: 415
在线等级:
注册时间: 2005-09-27
最后登陆: 2018-04-03

5come5帮你背单词 [ allocate /'æləkeit/ vt. 分配,分派,浙给,拔给 ]


明白。 thx。
顶端 Posted: 2006-09-08 14:38 | [9 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.047967(s) query 5, Time now is:09-18 21:55, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号