c语言结构体问题

在16位IBM-PC机上使用C语言,若有如下定义structdata{inti;charch;doublef;}b;则结构变量b占用内存的字节数是A.1B.2C.7D.1... 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是A.1B.2C.7D.11

答案是:D
为什么?

int i; 2字节 char ch; 1字节 double f; 8字节

但运算的结果是:16
为何不是16?
展开
 我来答
听不清啊
高粉答主

2015-03-19 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
这是因为C中结构体的字节数都是其中每个域的最大单元字节数(这里是double的字节数8)的倍数(向上取整),若需用17个字节(比如说struct{char c; double x[2];}b;),则实际占用为24字节。
更多追问追答
追问
则结构变量b占用内存的字节数是
A.1
B.2
C.7
D.11

正确答案是:D
11字节
与算出来的结果不一样哦
选项中也没有16字节这个选择

为什么?
追答
出题的人疏忽了。自己上机试一下就知道了。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式