55.9 심사문제 해설 질문
, 홍 임시님이 작성boot, interrupt는 독립적인 공간을 가져야 하므로 구조체에 둔다는 말이 있는데요. 그렇게 두는 이유가 boot, interrupt, option을 모두 공용체에 두게되면
공용체의 성질인 멤버 중 가장 큰 자료형의 공간을 공유하고 어느 한 멤버의 값을 저장하면 나머지 멤버의 값은 사용할 수 없는 상태가 되어 boot과 interrupt 중 한 값만 출력되기 때문에 구조체에 둔다고 설명할 수 있나요?
Re: 55.9 심사문제 해설 질문
, 도장_ 관리자님이 작성Unit 55.10에 대한 질문이네요.
질문이 이해가 되지 않습니다.
Unit 55.10의 심사문제는 Unit 55.3 익명 구조체와 익명 공용체 활용하기를 응용한 것입니다. 따라서 55.3의 anonymous_struct_union.c 예제 코드와 해당 설명을 보시고
struct Vector3 { // 3차원 벡터 좌표
union { // 익명 공용체
struct { // 익명 구조체
float x; // X 좌표
float y; // Y 좌표
float z; // Z 좌표
};
float v[3]; // 좌표를 배열로 저장
};
};
이 부분을 자세히 살펴보세요. v[3]와 x, y, z의 관계를 살펴보세요.
이 구조는 그림 55-3 익명 구조체와 익명 공용체로 표현되어 있습니다.
마찬가지로 심사문제 55.10의 구조도 그림으로 직접 그려서 이해하는 게 좋습니다.
Unit 55.3의 예제를 다양한 코드와 값을 넣어서 직접 실험해보면서 이해하는 게 좋을 것 같습니다.
그림으로 이해하고, 코드로 실험해보면서 눈으로 확인하세요.
예제는 직접 타이핑하는 게 좋습니다.