请考虑以下代码:
typedef struct {
int base_value;
} Base;
typedef struct {
Base base;
int child_value;
} Child;
Base* base = get_thing();
Child* child = (Child*) base;
以下内容是否可以保证始终有效?还是依赖于实现?
printf("%d", child->base_value);
请注意,我不是首先通过base
(child->base.base_value
),但直接进入base_value
。