[ 개발잡소리 ] bool + int 는 총 몇 바이트? - Memory Alignment
.." 페른, Struct 에 bool과 int 멤버변수를 선언하면 이 멤버변수 필드는 총 몇의 메모리를 차지하는지 알고 있니? " " 당연히 1Byte + 4Byte니까 5Byte 아닙니꺼? "" 틀렸단다." 메모리 패딩과 정렬에 대해 알아보자. # 정의 & 이론(딱히 정의랄게 없어서 거의 이론중심) CPU가 메모리 접근을 빠르게 하기 위해서 각 필드들을 특정 정렬 바운더리에 맞추어 배치한다.이 작업을 정렬(Alignment)라고 하고. 그 결과로 생길 수 있는 빈 공간을 패딩(Padding)이라고 한다. 아래와 같은 코드가 있다고 치자public struct TestStruct{ public byte a; // 1 byte public int b; // 4 bytes publi..
2025.09.30