gpt4 book ai didi

c - 如何修改函数以便可以发送不带 & 的参数?

转载 作者:行者123 更新时间:2023-11-30 14:41:55 25 4
gpt4 key购买 nike

我已经实现了带有双指针的函数,但我不确定如何更改它,以便我可以发送不带“&”的参数。

void load(char* buf_in, char** buf_out)
{
uint8_t size;

size = strlen(buf_in) + 1;

*buf_out = malloc(size);

if (*buf_out == NULL)
{
printf("memory cannot be allocated!\n");
return;
}
else
{
memset(*buf_out, 0x00, size);
}

memcpy(*buf_out, buf_in, strlen(buf_in));
}


int main()
{
char* output;

load("this_is_data", &output);
}

函数工作正常,但我坚持使用其他实现(也许有一些更简单的方法来实现它,例如没有双指针?)

最佳答案

返回指针而不是传递本地地址。

char *load(char* buf_in)
{
...
char *buf_out = malloc(size);
...
return buf_out;
}

int main()
{
char* output = load("this_is_data");
}

关于c - 如何修改函数以便可以发送不带 & 的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54697972/

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