C语言这题为什么答案是49?

如题所述

这个结果是49,分析如下:

C语言中,int类型占4个字节char类型占1个字节float类型占4个字节,指针类型占4个字节

结构体中定义的各个数据类型所占字节数相加,就能得到结果。

根据题目信息,结构体中定义了整型数组,共10个元素,所以有40个字节,在加上其他的几种类型,即

40 + 1 + 4 + 4 = 49。

最终结果为49个字节。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-04-19

如果未指定1字节对齐的话

struct cat 

{

int a[10];  // 40

charch;//1//因为4字节对齐这里会补3个字节

float f;   //4

double *p;  //4

}cat1;

是52 

===============

如果是1字对齐的话  

struct cat 

{

int a[10];  // 40

char ch;   //1

float f;   //4

double *p;  //4

}cat1;

那么是 49

在默认不说明前提的情况下 都是4字节对齐

本回答被网友采纳
相似回答