gpt4 book ai didi

char * 作为 C 中的引用

转载 作者:太空狗 更新时间:2023-10-29 16:50:52 28 4
gpt4 key购买 nike

如何传递参数如char *作为引用?

我的函数使用 malloc()

void set(char *buf)
{
buf = malloc(4*sizeof(char));
buf = "test";
}

char *str;
set(str);
puts(str);

最佳答案

你传递指针的地址:

void set(char **buf)
{
*buf = malloc(5*sizeof(char));
// 1. don't assign the other string, copy it to the pointer, to avoid memory leaks, using string literal etc.
// 2. you need to allocate a byte for the null terminator as well
strcpy(*buf, "test");
}

char *str;
set(&str);
puts(str);

关于char * 作为 C 中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107292/

28 4 0
文章推荐: c - Lua table.getn() 返回 0?
文章推荐: javascript - Angular2 5 分钟安装错误 - 未定义要求
文章推荐: HTML5
文章推荐: c - OpenGL NURBS 曲面
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com