2
왜 작동합니까?C에서 부모에 대한 포인터를 사용하여 하위 클래스 멤버에 액세스
typedef struct {
data member_x;
} base;
typedef struct {
struct base;
data member_y;
} derived;
void function_on_base(struct base * a);
// 여기에 내가 모두에 포인터를 전달할 수 있습니다 파생베이스에 어떻게 그렇게 할 수 있어요?
function_on_base에서 시간 기준 포인터가 파생 된 유형의 포인터를 허용해야하는 이유는 무엇입니까? 그래서이
sizeof(derived)
sizeof(base)
|-------------------|----------------|
beginning end of base end of derived
of derived
AND of base
을 :
이derived my_derived;
(base)my_derived;
가
실제로 derived
의 sizeof(base)
첫 번째 바이트를 취할 것에 해당하는 메모리에서 derived
구조체이로 표현 될 수 있기 때문에
여기에 질문이 있습니까? –
왜/어떻게 작동합니까? :) – Kam