-1
這樣的代碼:C++的sizeof(結構)
#include <stdio.h>
int main(){
struct{
unsigned char a:4;
unsigned char b:4;
}i;
struct{
unsigned char a:4;
unsigned char b:4;
unsigned char c:4;
}j;
i.a = 1;
i.b = 1;
j.a = 1;
j.b = 1;
j.c = 1;
printf("size of i is: %d, size of j is: %d", sizeof(i), sizeof(j));
return 0;
}
爲什麼輸出爲1 2?意味着我擁有1個字節的大小,j擁有2個字節。我們知道unsigned char有1個字節,所以爲什麼我不等於2?我很抱歉我的英語。