#include <iostream>
using namespace std;
struct s {
int i;
char c;
};
int main(void) {
cout << "size: " << sizeof(struct s) << endl;
}
빨간줄 쳐진부분 당연히 5바이트 아님?
출력은 8바이트로 나오는데 3바이트는 조상님이 넣어주신거야? 어디서 온거임
#include <iostream>
using namespace std;
struct s {
int i;
char c;
};
int main(void) {
cout << "size: " << sizeof(struct s) << endl;
}
빨간줄 쳐진부분 당연히 5바이트 아님?
출력은 8바이트로 나오는데 3바이트는 조상님이 넣어주신거야? 어디서 온거임
https://gall.dcinside.com/mgallery/board/view/?id=github&no=12666&t=cv&_rk=whk
저도 비슷한 질문글 썻었는데 여기에 좋은 답변 많이 해주셧어요
조상님은 아니고, 컴파일러가 넣은 거임
구조체 s의 필드 중 가장 큰 int의 4byte 단위로 저장되기 때문에 1 (+ 3) + 4 = 8
이거 padding이랑 관련된 문제임
http://www.catb.org/esr/structure-packing/
이거
한번 읽어봐