搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 结构体所占字节的问题
标题:
结构体所占字节的问题
只看楼主
编程小猪
等 级:
新手上路
帖 子:33
专家分:4
注 册:2022-10-17
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:6
结构体所占字节的问题
#include <stdio.h>
int main()
{
struct cat
{
int a[10];
char ch;
float f;
double *p;
} cat1;
printf("%d",sizeof(cat1));
return 0;
}
为什么我算出来是33,编译器是56,答案确是27?为什么double *p会是占2个字节?请各位大佬不吝赐教!!
搜索更多相关主题的帖子:
字节
结构体
int
double
不吝
2023-02-24 16:26
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
2
楼
得分:20
int的长度是
实现定义
的,结构体的对齐排布也是
实现定义
的,所以
不可能有什么标准答案
假如是 LLP64 数据模型(VC x64),那 10*4 + 4 + 4 + 8 = 56
假如是 ILP32 数据模型(VC x86),那 10*4 + 4 + 4 + 4 = 52
假如用的是古老16位计算机,且未作变量对齐,那有可能真的是 10*2 + 1 + 4 + 2 = 27
2023-02-24 16:54
renkejun1942
来 自:不是这样
等 级:
贵宾
威 望:
33
帖 子:1645
专家分:5297
注 册:2016-12-1
第
3
楼
得分:0
结构的内存占用根据编译器不同而有所不同,这是没有标准答案的。
当然如果你的目的是考试的话,那就死记硬背答案吧。
09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2023-02-24 18:39
pvm2000
等 级:
版主
威 望:
24
帖 子:159
专家分:256
注 册:2022-12-22
第
4
楼
得分:0
sizeof最准确
2023-02-25 00:25
编程小猪
等 级:
新手上路
帖 子:33
专家分:4
注 册:2022-10-17
第
5
楼
得分:0
回复 2楼 rjsp
懂了,不纠结这个题目了,谢谢大佬
专升本备考中!!!
2023-02-25 14:23
编程小猪
等 级:
新手上路
帖 子:33
专家分:4
注 册:2022-10-17
第
6
楼
得分:0
回复 4楼 pvm2000
用了sizeof()的,int类型是4个字节
专升本备考中!!!
2023-02-25 14:24
编程小猪
等 级:
新手上路
帖 子:33
专家分:4
注 册:2022-10-17
第
7
楼
得分:0
回复 3楼 renkejun1942
哈哈哈,但愿4月份专升本不要出这种题目
专升本备考中!!!
2023-02-25 14:24
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-511385-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.295433 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved