1
這裏是一個奇怪的事情:Çstruct-> struct-> struct->元件(通常)段故障
我有一個結構,它包含指向相同類型的結構和指針其他類型的結構,以及其他一些值。
struct animal {
struct animal * father;
struct race * rc;
int age;
};
struct race {
char colour;
};
一切似乎是確定,當我通過父親訪問值年齡:
animal->father->age
但是,當我嘗試訪問父親的種族色彩:
animal->father->rc->colour
我得到「分段故障」。但如果它每次都會變得很容易,那就太容易了。它有時會,有時不起作用,我不知道造成它不穩定的因素是什麼。另一件始終有效的工作是:
animal->rc->colour
是否有可能您最多可以加入兩個指針,然後可能會出現問題? 我使用最新的gcc。
你可能沒有正確地爲'animal-> father-> rc'分配內存,但是如果沒有看到實際的代碼就不可能分辨出來。 –
您很可能忘記爲結構分配內存,或者您沒有初始化指向結構的指針。 –
你確定'animal-> father-> rc'不是null嗎?無論如何......一般的建議是用'valgrind'分析它,然後用'gdb'運行它並觀察發生了什麼 –