gpt4 book ai didi

c - 取消引用指向 void 的指针

转载 作者:行者123 更新时间:2023-11-30 18:03:59 24 4
gpt4 key购买 nike

我正在用 C 语言实现 hashmap,CMapPut 的函数定义如下:

void CMapPut(CMap *cm, const char *key, const void *elemAddr) 

我的问题是如何检索传递到映射中的元素的实际值?也就是说,客户端传入变量的时候,他传入的是值的地址。在这种情况下,它似乎是一个 void *,当然您不能取消引用 void *。有什么建议吗?

最佳答案

您应该能够将指针转换为您需要的类型:

typedef struct {
...
} CMyType;

...

CMyType myinstance;
CMapPut(cm, "key", &myinstance);

我想您会将指针存储为const void*。我猜你有一个像 CMapGet 这样的函数,你可以用它来检索映射的对象,如下所示:

void *CMapGet(CMap *cm, const char *key);

...

CMyType* myinstance_ptr = CMapGet(cm, key);

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

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