这是一件奇怪的事情:
我有一个结构体,它包含指向相同类型的结构体的指针和指向另一个类型结构体的指针,以及一些其他值。
struct animal {
struct animal * father;
struct race * rc;
int age;
};
struct race {
char colour;
};当我通过父亲访问value age时,一切似乎都很好:
animal->father->age但是当我尝试访问父亲的种族的颜色时:
animal->father->rc->colour我得到了“分割错误”。但是,如果它每次都会变大,那就太容易了。它有时工作,有时不工作,我不知道是什么因素使它不稳定。另一件总是有效的事情是:
animal->rc->colour有没有可能你最多可以连接两个指针,然后问题就会发生?我用的是最新款的gcc。
发布于 2013-03-02 18:38:55
如果它有时工作得很好,而在其他时间却不行,那么几乎可以肯定是内存分配出了问题。如果你能在声明中直接贴出你是如何赋值的,你应该很快就能在这里得到帮助。
https://stackoverflow.com/questions/14215738
复制相似问题