stuct

· C++
Struct구조체 Struct의 멤버 변수를 메모리에서 CPU로 읽을 때 한번에 읽을 수 있도록, 컴파일러가 레지스터의 블록, Word의 크기(64비트라면 8바이트, 32비트라면 4바이트)에 맞춰 바이트를 패딩시켜주는 최적화 작업을 수행한다. 만약 struct x{ char a; int b; char c;}struct x data;위 구조체의 메모리 크기인 sizeof(data)는 6바이트가 아닌 12바이트이다. 컴파일러가 구조체를 구성하는 멤버들을 가장 크기가 큰 멤버 자료형(여기서는 int)의 배수가 되도록 정렬했기 때문이다. 이 정렬을 위해 의미없는 바이트들을 더해 패딩해준 것이고, a와 c 뒤에 3바이트씩 패딩이 추가된다. struct x{ char a; char c; int b;}하지만 다음과 ..
멍텅구링
'stuct' 태그의 글 목록