|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于sizeof()一个简单的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
354
人关注过本帖
标题:
关于sizeof()一个简单的问题
只看楼主
加入收藏
stevewang
来 自:中国四川
等 级:
论坛游民
帖 子:17
专家分:33
注 册:2012-2-17
结帖率:
66.67%
楼主
收藏
已结贴
√
问题点数:3 回复次数:6
关于sizeof()一个简单的问题
typedef struct temp {
char char1;
char char2;
int n1;
}sizeTemp;
int main () {
printf("%lu", sizeof(sizeTemp));
return 0;
}
请问打印结果是多少?为什么?
期待那位高人指点
搜索更多相关主题的帖子:
打印
return
2012-04-06 11:06
举报帖子
使用道具
赠送鲜花
dingmingyao
等 级:
新手上路
帖 子:1
专家分:0
注 册:2011-4-7
第
2
楼
收藏
得分:0
8;
请查看字节对齐解释
2012-04-06 11:33
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
3
楼
收藏
得分:1
看是几个字节对齐了,如果4字节对齐答案是8,因为两个char型占两个字节,后面补全两个字节,int再占4个字节,总共8个字节
总有那身价贱的人给作业贴回复完整的代码
2012-04-06 11:42
举报帖子
使用道具
赠送鲜花
upsate
等 级:
论坛游民
帖 子:14
专家分:21
注 册:2011-12-26
第
4
楼
收藏
得分:1
8
计算机对内存管理是以“字”为单位,(大部分系统默认四字节为一个“字”)。如果在一个“字”中只存放一个字符,虽然只占一个字节,但该“字”的其他三个字节不会存放数据,而会从下一个“字”开始存放数据。sizeof()运算符测长度时,得到的不是理论值,而是实际值,必然是四的倍数。(谭浩强《c程序设计》(第四版)第295页注释)。
我用的是VS2010,vc6.0编译成功,链接失败。
可能和系统有关,结果可以是1,2,3,但结果必然是结构体内最小变量长度的倍数。
2012-04-06 11:54
举报帖子
使用道具
赠送鲜花
stevewang
来 自:中国四川
等 级:
论坛游民
帖 子:17
专家分:33
注 册:2012-2-17
第
5
楼
收藏
得分:0
结构体的字节对齐准则是:成员中自身对其值最大的那个值。
为什么以下2个结构体的大小不一样,输出结果为12和8.(我的编译环境为XCode4.3)求详解啊
#include <stdio.h>
typedef struct A {
char i;
int n;
short s;
}A;
typedef struct B {
int n;
char i;
short s;
}B;
int main(int argc, const char * argv[])
{
printf("%lu\n", sizeof(A));
printf("%lu", sizeof(B));
return 0;
}
2012-04-06 13:41
举报帖子
使用道具
赠送鲜花
yhmm
等 级:
论坛游民
帖 子:22
专家分:72
注 册:2012-2-27
第
6
楼
收藏
得分:0
打印结果麻 是这个 typedef struct temp {
char char1;
char char2;
int n1;
}sizeTemp;
int main () {
printf("%lu", sizeof(sizeTemp));
return 0;
}
捷建软件开发互助平台
2012-04-07 12:14
举报帖子
使用道具
赠送鲜花
yhmm
等 级:
论坛游民
帖 子:22
专家分:72
注 册:2012-2-27
第
7
楼
收藏
得分:1
前两个char各占一个字节,
n1占四个字节
但是因为数据对齐,所以在两个char之后需要空2字节
捷建软件开发互助平台
2012-04-07 12:15
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
关于sizeof()一个简单的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024716 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved