gpt4 book ai didi

c - SIGSEGV 访问 C 中的结构成员

转载 作者:行者123 更新时间:2023-11-30 17:58:11 25 4
gpt4 key购买 nike

我在 C: 中有这样的东西

unsigned char a = structTypeInstance->b ;

哪里ba 具有相同的类型。

我收到SIGSEGV .

为什么?

编辑:我可以访问 structTypeInstance 之前声明的字段。我唯一的预感是,为 structTypeInstance 分配的内存是不够的。这可能吗?

最佳答案

是的,这是可能的。但由于您拒绝向我们展示声明 structTypeInstance 的代码,相应结构的完整定义是什么,它被分配到哪里,我们无法真正确定。

有时错误就像写作一样简单

struct FOOBAR {
char big[16380];
char b[4];
};
struct FOOBAR *foo;

foo = malloc (sizeof foo); /* Allocates just a handful of bytes. */

当你真正想说的时候

foo = malloc (sizeof *foo); /* Allocates enough for a complete struct FOOBAR. */

关于c - SIGSEGV 访问 C 中的结构成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com