это даст правильный выход, даже если я не выделенную памяти и объявил указатель на структуру два внутри основногоуказателя на структуру
struct one
{
char x;
int y;
};
struct two
{
char a;
struct one * ONE;
};
main()
{
struct two *TWO;
scanf("%d",&TWO->ONE->y);
printf("%d\n",TWO->ONE->y);
}
но когда я объявить указатель на два после структуры внешней главного я получу ошибку сегментации, но почему это я не получаю ошибку сегментации в предыдущем случае
struct one
{
char x;
int y;
};
struct two
{
char a;
struct one * ONE;
}*TWO;
main()
{
scanf("%d",&TWO->ONE->y);
printf("%d\n",TWO->ONE->y);
}
Какова цель сравнения двух неправильных вещей? – DReJ
Какой компилятор вы используете? Запуск вашей первой программы под gcc (cygwin) дает мне ошибку сегментации. – pankajt
@ Devil Jin: gcc – Manu