gpt4 book ai didi

c - 为一个指针赋值另一个指针的值

转载 作者:太空宇宙 更新时间:2023-11-04 05:39:36 25 4
gpt4 key购买 nike

我正在尝试将 fileOrDir 的值分配给 copyFileOrDir 的值。我希望 copyFileOrDir 等于 fileOrDir 的值,而不是指向相同的地址。我认为它会是 copyFileOrDir = *filrOrDir 但我收到错误。下面是我的代码:(fileOrDir 从命令行参数获取其值)

char *fileOrDir = (char *)malloc(25*sizeof(char));
char *copyFileOrDir = (char *)malloc(25*sizeof(char));
copyFileOrDir = *fileOrDir;

最佳答案

指针指向一 block 内存。如果将一个指针设置为与另一个指针相等,则最终会指向同一 block 内存。如果您实际上分配了两个不同的 block ,那么您永远不应该将一个指针设置为另一个 - 您将无法释放内存。

很可能你打算做一个memcpy,它允许你将一个内存块的内容复制到另一个:

memcpy(void* destination, const void* source, size_t numberofbytes);

关于c - 为一个指针赋值另一个指针的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287571/

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