首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C结构->元素(通常)分段错误

C结构->元素(通常)分段错误
EN

Stack Overflow用户
提问于 2013-01-08 21:12:05
回答 1查看 136关注 1票数 1

这是一件奇怪的事情:

我有一个结构体,它包含指向相同类型的结构体的指针和指向另一个类型结构体的指针,以及一些其他值。

代码语言:javascript
复制
struct animal {
    struct animal * father;
    struct race * rc;
    int age;
};

struct race {
    char colour;
};

当我通过父亲访问value age时,一切似乎都很好:

代码语言:javascript
复制
animal->father->age

但是当我尝试访问父亲的种族的颜色时:

代码语言:javascript
复制
animal->father->rc->colour

我得到了“分割错误”。但是,如果它每次都会变大,那就太容易了。它有时工作,有时不工作,我不知道是什么因素使它不稳定。另一件总是有效的事情是:

代码语言:javascript
复制
animal->rc->colour

有没有可能你最多可以连接两个指针,然后问题就会发生?我用的是最新款的gcc。

EN

回答 1

Stack Overflow用户

发布于 2013-03-02 18:38:55

如果它有时工作得很好,而在其他时间却不行,那么几乎可以肯定是内存分配出了问题。如果你能在声明中直接贴出你是如何赋值的,你应该很快就能在这里得到帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14215738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档