Я два Структуры, какВыводит указатель на разные структуры, которые могут быть значимыми в C89?
struct X {
int x;
double *y;
};
struct Y {
int a;
double *b;
char c;
};
бросает указатель struct Y
на указатель на struct X
гарантированно вести себя последовательно в разумных пределах (т.е. x->x
и x->y
соответствуют y->a
и y->b
соответственно) по стандарту C89? Менее важно, но было бы здорово, если бы вы также узнали, что это справедливо и для более поздних стандартов (например, C11) и других языков, которые имеют существенное синтаксическое и семантическое совпадение с C (например, C++ XX, Objective-C)?
Я не знаю о C++, но это похоже на все версии C. Многие программные пакеты полагаются на это. – chqrlie
C++ - это другой язык, а не более поздняя версия C –
@ M.M Справедливая точка. Хотя, я думаю, естественно, что это любопытно об этом поведении на других языках, которые имеют много перекрытий с C. Будет редактировать, чтобы сделать это яснее – math4tots