這會給儘管我還沒有分配的內存和已宣佈的指針結構中的兩個內部主指針結構
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 2011-01-28 07:10:23
你使用什麼編譯器?在gcc(cygwin)下運行你的第一個程序給了我Segmentation Fault。 – pankajt 2011-01-28 07:16:14