반응형 class1 C++ 클래스와 구조체의 데이터 정렬(Data alignment) 왜 데이터 크기가 다르지? 우리는 C++를 사용할 때 class나 struct를 사용합니다. 알고계시는 분들도 있겠지만 기본적으로 맴버변수를 선언하면 자료형의 크기가 맞춰집니다. 이를 컴파일 데이터 정렬이라고 하는데, 일단 코드를 보시죠. #include class A { int num; //4byte char c1; //1byte char c2; //1byte}; int main(void) { printf("%d\n", sizeof(A)); return 0;} 6바이트가 나와야 하지만 8바이트가 나오게 됩니다. 이는 구조체(struct)도 마찬가지 입니다. 왜 이렇게 되는지 살펴보고자 합니다. 1. 프로세스의 메모리 접근 단위기본적으로 해당 코드를 실행하면 메모리로 올라가게 됩니다.그리고 프로세스는 함수가 실행될 때마다 변수의 .. 2020. 6. 24. 이전 1 다음 728x90 반응형