标题:有编程经验的人进来看下这个问题?
只看楼主
bestboy555
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-8-1
得分:0 
主要是字节对齐造成的影响,
#pragma pack(1)
加上这个就可以得到想要得答案了

原来这个世界还有好多真理!
2006-10-19 20:45
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 

#include <stdio.h>

struct one
{ char c;
int a;
short b;
};

struct two
{

char y;int x;
short z;
};

void main(void)
{

printf("%d\n",sizeof(one));
printf("%d\n",sizeof(two));
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(short));
}
这个程序可以吗?顺序不同结果不一样,毕竟为什么


谁有强殖装甲第二部,可以Q我460054868
2006-10-19 20:49
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
#pragma pack(1)这个是为什么

谁有强殖装甲第二部,可以Q我460054868
2006-10-19 20:53
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
VC是4个字节来分配,不到4补到4位.

=×&D o I p R e E n C g T l X&×=
2006-10-19 21:08
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 

有没有人回答我问题。


谁有强殖装甲第二部,可以Q我460054868
2006-10-19 21:23
bestboy555
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-8-1
得分:0 
#pragma pack(1)
他的作用是让内存按一个字节对齐

原来这个世界还有好多真理!
2006-10-19 21:27
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
这些细节,我还要继续学习

谁有强殖装甲第二部,可以Q我460054868
2006-10-19 21:29
husi
Rank: 1
等 级:新手上路
威 望:1
帖 子:46
专家分:0
注 册:2006-10-17
得分:0 

确实学到一些东西。不过在tc下是3。就没有这个问题了。


2006-10-19 21:51
bestboy555
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-8-1
得分:0 
以下是引用踏魔狼在2006-10-19 21:08:20的发言:
VC是4个字节来分配,不到4补到4位.

这个回答好像有点问题吧????

[此贴子已经被作者于2006-10-19 22:12:37编辑过]


原来这个世界还有好多真理!
2006-10-19 21:55
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
得分:0 
以下是引用bestboy555在2006-10-19 21:55:14的发言:

这个回来好像有点问题吧????

有什么问题?
VC缺省情况下是按 #pragma pack(4)执行的


2006-10-19 21:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-97441-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.435863 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved