int a[][3] = { 0, 1, 2, 3, 4, 5, 6 };
char b[] = "string";
struct{
int a;
char b[10];
double c;
}c;
printf("a[1][2] : %d\n", a[1][2]); -> 5출력
printf("sizeof(a) : %d\n", sizeof(a)); ->36
printf("sizeof(b) : %d\n", sizeof(b)); ->7
printf("sizeof(c) : %d\n", sizeof(c)); ->24
가 찍히는데
sizeof(a)는 int형배열이 3*3개있어서 36
sizeof(b)는 6+개행문자해서 7인데
sizeof(c)는 4 + 10 + 8 해서 22같은데 24가 출력되네요
왜 24가 출력되는지 궁금합니다.
vc면 pragma pack을 검색하세요
비주얼 스튜디오 2013 입니다.
구조체 정렬 검색하면 이유도 나올겁니다
그러면 저거에서 C값은 24가 정답인가요?
4의 배수
더블의 위치를 위로 옮기시면 다른 결과가 나올 겁니당