天佑知道int类型的变量占4个字节,double类型的变量占8个字节,char类型的变量占1个字节
张博士讲结构体字节数时,天佑有点蒙,他经过用心专研,终于搞明白了
比如一个结构体定义如下:
struct wty
{
char a;
double b;
int c;
};
这其中double的字节数最大为8,故char和int也都会自动延长到8个字节,
所以sizeof(wty)的值为24
又比如
struct ssy
{
char a;
int c;
double b;
};
因为double类型的字节数为8,
故char+int加起来为5个字节数,会被延长为8个字节
所以sizeof(ssy)的值为16
上述结构体中,都是三个变量,但是所占有的字节数却不一样
天佑想请你告诉他,如果结构体中的变量顺序可以随意调整
那该如何定义才能使得结构体所占的字节数最少呢?