结构体占用空间的大小,其实是:最后一个变量的偏移量,加上最后一个变量的内存大小,加上最后一个变量的尾部填充字节数。这么说有点儿扯淡,最好的办法是看这里面最长的那个变量,比如是double,也就是8bytes,那么这就是最小的sector。剩下的比如是int char 和int,因为int占4 bytes,char 占1byte,它们俩加在一起不够一个sector,但是无法放下一个int了,所以它们俩占一个sector,后面填充无用值。而剩下的那个int自己独占一个sector,所以这个struct占用24 bytes内存空间。
2016-02-25