gpt4 book ai didi

c - 问题取消引用类型 void**

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

我有一个指向指针的指针数组:

void ** buckets.

每个指针都指向某个内存块,其中包含指向另一个内存块的指针。

我正在尝试获取指向某些内存块的指针之一,如下所示:

void *cell = cm->buckets[0] // for the first blob it is pointing to.

但是,它给了我一个段错误,并且 gdb 不是很有用。为什么会发生这种情况?处理这种情况的正确方法是什么?

最佳答案

检查存储在存储桶中的地址值。最有可能的是,它尚未初始化(使用newmalloc等),并且buckets内的地址是一些随机的 protected 内存地址。

buckets[0] 相当于 *buckets 或取消引用 buckets 内的值。因此系统尝试访问此 protected 地址的内容,从而导致段错误。

关于c - 问题取消引用类型 void**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785457/

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