大家好,今天我为大家简单阐述一下结构体内存分配的规则
简而言之,结构体的内存分配规则:
“ 一般来说(Linux中的double类型有所不同),哪个基本类型的成员占的字节多,就以它的大小为单位开辟内存”
#include <stdio.h>
struct a//定义结构体类型
{
int c;
double d;
};
int main()
{ struct a b;//定义结构体变量
printf("%d", sizeof(b));//输出结构体变量b所占的大小
return 0;
}
观察上图,不难发现double类型所占字节比int类型的多,故结构体以8字节为单位开辟空间,运行结果应为16,其中有4个字节的空间被浪费。
tip:
int a[10]可以被视为存在10个int类型的集合
Linux的double类型以4个字节为单位开辟内存
感谢你的观看,希望能帮助到你,可以为我点个赞吗,这是本人的第一篇博客哦
(>y<)