struct struct0 {
int a;
};
struct struct1 {
struct struct0 structure0;
int b;
} rho;
&rho->structure0; /* Reference 1 */
(struct struct0 *)rho; /* Reference 2 */
(struct struct0)rho; /* Reference 3 */
Из ссылки 1, делает компилятор взять адрес Rho, а затем получить доступ к structure0, или наоборот?Приоритет операторов и определение структуры в C
Что делает линия при ссылке 2?
Поскольку struct0 является первым членом struct1, ссылка 3 будет эквивалентна ссылке 1?
Если первый член rho был указателем, будут ли ссылки 1 и 2 эквивалентными? – Yktula
@Yktula, нет, они все равно не сработают. 'rho' сам должен быть указателем, чтобы попробовать любой из этих вещей. –
Вы правы. struct s1 {struct {int n} * s0; } * s1; main() {(& s1-> sch == (struct s0 *) s1)? printf («Да»): exit (EXIT_FAILURE); return 0; } печатает Да. Спасибо. – Yktula