#include <iostream>
using namespace std;
struct sex{
int a;
int b;
int c;
int d;
char e;
char f;
};
int main()
{
sex master;
cout << sizeof(master) << endl;
return 0;
}
제가 예상한 결과는 int 4바이트, char 1바이트 해서 총 18이 결과로 나올 줄 알았는데 20이 나옵니다.
혹시 뭐가 잘못되었나 해서 char 멤버 하나를 지우고 돌려봐도 20이 나오고 char 멤버 하나를 더 지우면 16이 나옵니다.
데이터 크기는 https://docs.microsoft.com/ko-kr/cpp/cpp/data-type-ranges?view=msvc-170 를 참조했으며 64비트에서 돌려봤습니다.
혹시 이에 대해 잘 아시는분 있나요? 아무리 생각해봐도 잘 모르겠습니다
memory alignment
패딩 바이트에 대해 검색해보시면 좋을듯
와 이런게 있었네요 감사합니다
코드 씨발ㅋㅋ
야스 마스터ㄷㄷㄷ
alignof
바이트 정렬 - dc App