c - 如何更改传递给 C 函数的实际参数?

标签 c pointers

我想更改传递给函数的实际参数,而不是它的副本。例如:

char str[] = "This is a string";

我想在调用后创建一个 str 值不同的函数。我尝试创建一个接受 char** 作为参数的函数,但我无法得到我想要的。

最佳答案

我认为你的意思是这样的:

void update_string(char ** ptr)
{
    *ptr = strdup("This is a test");
    return;
}

然后像这样调用该函数:

char * str = strdup("hello world\n");
printf("%s\n", str);
update_string(&str);
printf("%s\n", str);

关于c - 如何更改传递给 C 函数的实际参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26753776/

相关文章:

c++ - 从 C 为 Obj-C 结构赋值

c++ - 如何在基于 MFC 对话框的应用程序中使用计时器?

iphone - 如何在 iOS 设备上编译 ARM 汇编文件和 iOS 模拟器使用常规 C 之间进行选择

c - 错误 "expression must have pointer type"何时发生?

c - 这个 C 模式仅用于隐藏实现细节吗?

c++ - 将原始内存写入文件

c++ - 使用 IGRAPH 面向对象编程

c++ - 从二叉搜索树中删除一个值

在函数内更改指针

c - 如果已知偏移量,如何获取结构成员?