结构体所占内存

来源:互联网 发布:重新加载数据会丢吗 编辑:程序博客网 时间:2024/05/01 22:58

结构体所占的内存由结构体里的成员决定

int型占4字节

char型占1字节

float型占4字节

double型占8字节

指针*占4字节

但在结构体中所占的内存并不是所有成员所占字节之和,而是有一定规律

以程序为例:

此时结构体的内存就是一个字节

加一个char型的成员

结果为两个字节

如果再加入一个int型成员

结果就是8个字节

如果将成员顺序调一下

结果就变成12个字节

由此总结一下结构体内存分配规律

成员变量与结构体的起始地址的偏移量一定是成员变量长度的整数倍,结构体的长度是最长成员长度的整数倍。