首先看下面一段代碼:
#include <stdio.h>typedef int INT32;typedef unsigned char BYTE;typedef struct demo{ double s; BYTE b1; BYTE b2; INT32 i;}DEMO;int main(){ double i32; BYTE byte; DEMO d; PRintf ("%d, %d/n", sizeof(INT32), sizeof(i32)); printf ("%d, %d/n", sizeof(BYTE), sizeof(byte)); printf ("%d, %d/n", sizeof(DEMO), sizeof(d)); return 0;}

最后結構體變量字節(jié)大小是16,為什么呢?按照道理不是14嗎?
這里就是內存對齊了,變量在內存中存放的時候是有一定規(guī)則的,

新聞熱點
疑難解答