gpt4 book ai didi

c - 如何在 C 中从 void * 分配字符串值?

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

我正在用 C 实现一个 CMap,其中一部分需要将信息存储在我手动管理内存的链接列表类型的结构中。所以这个struct的前4个字节是指向下一个struct的指针,下一个部分是字符串(键),最后一个部分是值。

假设void *e = ptr定义了一个这样的链表。然后,ptr + 4 引用字符串部分的开头。我想将该字符串值分配给另一个字符串,到目前为止我所做的是:

char *string = (char *)ptr + 4;

但是,我认为这是不对的。

最佳答案

如果你想指向同一个字符串,你的代码就可以了,假设指针总是 4 个字节宽。

如果要复制字符串的内容,请使用 malloc 和 strcpy 创建新字符串。

关于c - 如何在 C 中从 void * 分配字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7896652/

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