请问下struct的内存对齐方式是怎么样的?有什么作用呢?

struct test1
{
char a[2];
short b;
double c;
};

struct test2
{
char a[2];
int b;
double c;
};
为何test1中b的偏移量为2(test1第三个字节开始存放b)
而test2中b的偏移量为4(test2中第五个字节开始才存b)

jeck猫
浏览 120回答 2
2回答

ITMISS

你研究这玩意有什么作用?我搞C++ 几年了,从来不管这些。 int 和short 是不同的,这些问题你问编译器就行了。它是你最好的老师!

噜噜哒

字节对齐。C语言的一大难点。面试必考。这个题目不是一两句话就能说清的。
打开App,查看更多内容
随时随地看视频慕课网APP