익명 공용체안의 변수와 구조체의 관계가 궁금합니다.
, 찬 호님이 작성struct DeviceOption {
union {
unsigned long long option;
struct {
unsigned char boot[4];
unsigned char interrupt[2];
unsigned char bus[2];
};
};
};
printf("0x%llx\n", opt.option);
55.7의 연습문제에서 보면 위와 같이 선언하고 opt.option을 printf하니 익명구조체 안의 값이 순서에 맞춰서 출력되는 것을 볼 수 있었습니다. 두 변수를 연결하는 함수가 없지만 익명구조체와 opt.option가 메모리 공간을 같이 사용하니까 그런거라고 이해하고 있는데 이렇게 이해하는게 맞나요?
만약 그렇다면 역으로 opt.option = 0x1107060504030201 이렇게 선언하면, 익명구조체에 값이 알아서 할당되는지도 궁금합니다.
좋은 답변 미리 감사드립니다.
회신: 익명 공용체안의 변수와 구조체의 관계가 궁금합니다.
, 도장_ 관리자님이 작성option에 지정하면 익명 구조체에 값이 알아서 할당됩니다.
둘은 공간을 공유하기 때문입니다.
option으로 전체 값을 지정할 수도 있고,
boot, interrupt, bus 각각에 값을 지정할 수도 있습니다.