注册 登录
编程论坛 C语言论坛

假设某 C 语言中,int 占 4 个字节,float 占 8 个字节,char 占 1 个字节。

baolis 发布于 2022-11-21 09:07, 1052 次点击
假设某 C 语言中,int 占 4 个字节,float 占 8 个字节,char 占 1 个字节。
有如下定义:
struct date
{ int month;
 float day;
 char year;
 }a;

union data
{ int i;
 char ch;
 float f;
int h;
}b;
则,date、data、a、b 各占多少字节?要求画出示意图,写出分析过程。
3 回复
#2
rjsp2022-11-21 09:34
struct date 不小于 4+8+1
struct date 不小于 8

假设某 C 语言中,int 占 4 个字节,float 占 8 个字节,char 占 1 个字节。
在C/C++中,char必然占1字节,标准就是定义的。哪怕 char 有256bits;
哪个C语言的 float 占8字节?
#3
粉jj2022-11-21 21:39
回复 楼主 baolis
date、data不占字节。a占12字节、b占4字节
#4
吹水佬2022-11-22 09:16
struct 看和
union  看大
加上对齐偏移,要看对齐粒度。
1