天天看点

《C语言》结构体大小的计算(内存详解)@Hansunbake

《C语言》结构体大小的计算(内存详解)

CPU的数据传输方式是一次传输4个(32位)或者8个(64位)字节的方式进行传输(根据总线条数来确定)。

一、对于64系统来说。

有结构体A如下:

struct A
{
 char   x;
 int    y;
 double z;	
};
           

那么结构体A的储存方式为:

x y y y y
z z z z z z z z

有结构体B如下:

struct B
{
 char   x;
 double y;
 int    z;	
};
           

那么结构体B的储存方式为:

x
y y y y y y y y
z z z z

有结构体C如下:

struct C
{
 int    x;
 char   y;
 double z;	
};
           

那么结构体C的储存方式为:

x x x x y
z z z z z z z z

有结构体D如下:

struct D
{
 int    x;
 char   Y;
 double Z;	
};
           

那么结构体D的储存方式为:

x x x x y
z z z z z z z z

有结构体E如下:

struct E
{
 double x;
 char   y;	
 int    z;
};
           

那么结构体E的储存方式为:

x x x x x x x x
y z z z z

有结构体F如下:

struct F
{
 double x;
 int    y;
 char   z;	
};
           

那么结构体F的储存方式为:

x x x x x x x x
y y y y z

继续阅读