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

天宇魔羯



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 4600
威望: 0
浮云: 1189
在线等级:
注册时间: 2007-05-16
最后登陆: 2010-04-16

5come5帮你背单词 [ variable /'v/əriəbl/ n. 变量;a. 易变的,可变的,可调节的 ]


一个C程序

#include "stdio.h"
union un
{ int i;
char c[2];
};
void main()
{ union un x;
x.c[0]=10;
x.c[1]=1;
printf("\n%d",x.i);
}
程序运行结果为什么是266


[ 此帖被天宇魔羯在2008-04-11 23:52重新编辑 ]
顶端 Posted: 2008-04-11 23:46 | [楼 主]
枫叶刀





性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1393
威望: 0
浮云: 1282
在线等级:
注册时间: 2006-03-23
最后登陆: 2009-08-14

5come5帮你背单词 [ settlement /'setlmənt/ n. 解决,移民,定居,清偿,结算 ]


Quote:
引用第0楼天宇魔羯于2008-04-11 23:46发表的 一个C程序 :
#include "stdio.h"
union un
{ int i;
char c[2];
};
.......

公用体 规则
byte    int              char
1          i最低位        c[0]
2          i第二位        c[1]
3          i第三位
4          i最高位


c[0]=10,c[1]=1
由内存位置就看出:i=c[1]*2^8+c[0]=1*256+10=266
顶端 Posted: 2008-04-12 09:17 | [1 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.011773(s) query 6, Time now is:05-14 21:24, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号