새소식

💻 Programming (프로그래밍)/C++

[C++] 바이트 패딩(Byte Padding)이란?

  • -

 

32bit OS - 4byte

64bit OS - 8byte 기준이지만

바이트 패딩으로 한 결과는 또 색다릅니다.

 

32bit 기준

struct A {
char a; // 1byte
bool b; // 1byte
int c; // 4byte
}

 

이런식으로 4byte씩 끊어서 메모리공간에 저장해줍니다.

A 구조체의 size는 총 8byte가 됩니다.

 

 

또 다른 예시로는

struct A { long long a; // 8byte bool b; // 1byte };

 

이런 경우에는 12byte가 들어가는게 아닌, 8 + 8 byte로 16byte의 크기를 가진 구조체가 되더라구요.

 

 

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.