CSAPP-2024-07-1주차 정리 (301p - 310p)
Machine-Level Representation of Programs 3.9 Heterogeneous Data Structures Heterogeneous Data Structures : 이질적인 데이터 구조체들 C는 객체의 다른 타입들을 조합함으로써 데이터 타입을 생성하는 두 가지 메커니즘을 갖고 있다. 구조체, 유니온이 바로 그것이다. 3.9.1 Structures C의 구조체는 단일한 객체에 다를 수 도 있는 객체들을 묶어 놓은 데이터 타입으로 생성하고, 선언한 것을 말한다. 구현은 기본적으로 배열과 동일하며, 연속적인 공간 속에, 구조체의 데이터들이 나열하여 저장되며, 구조체는 최초의 바이트의 주소값을 포인터로 소지한 형태로 구성된다. 이러한 구조체의 각 필드에 접속하기 위해, 컴파일러는 적절하게 구조체의 주소에 접근 가능한 오프셋을 더하는 코드를 생성한다. 교재에서 나오는 예시를 통해 알 수 있는 점은, 구조체의 다른 필드에 접근하는 것에 대한 모든 내용은 컴파일 타임…