我们先来看一段代码;
所以我们就来了解里面的内存分配了:
首先,它的原则是1.所在位置的偏移量(即我写的红色数字)是sizeof(类型)的整数倍
2.struct整体的内存是里面最大内存成员的整数倍
而我写的,首先是char a 占一个内存,int b ,1不是4的倍数,所以到偏移量为4的地方存储。
然后是double c 内存是8, 所以刚好。所以直接存储。 最后看整体内存为16是最大double(8)的倍数,所以不需要扩内存。
我们先来看一段代码;
所以我们就来了解里面的内存分配了:
首先,它的原则是1.所在位置的偏移量(即我写的红色数字)是sizeof(类型)的整数倍
2.struct整体的内存是里面最大内存成员的整数倍
而我写的,首先是char a 占一个内存,int b ,1不是4的倍数,所以到偏移量为4的地方存储。
然后是double c 内存是8, 所以刚好。所以直接存储。 最后看整体内存为16是最大double(8)的倍数,所以不需要扩内存。