gpt4 book ai didi

c - 函数的参数保留值

转载 作者:行者123 更新时间:2023-11-30 18:53:07 24 4
gpt4 key购买 nike

我对 C 还很陌生,所以我需要一些函数方面的帮助。我的问题是如何使插入到函数中的变量保持在执行函数后获得的值?更具体地说,假设我有一个名为 var(a) 的函数,以 a 作为参数,当函数完成时,a 的值为 15。所以我像这样调用函数 var(b),但我之前用 0 初始化 b。执行函数后,我希望 b 的值为 15。如果有人能帮助我找到一种方法来做到这一点,我将非常高兴。提前致谢!

最佳答案

在 C 语言中,所有函数都是按值传递的。这意味着用作函数参数的变量在函数返回时无法更改。

您可以通过将变量的地址传递给函数并声明该函数以获取指向特定类型的指针来解决这个问题。然后在函数内部,您可以取消引用指针并更改指针指向的内容,即调用函数中的变量。

#include <stdio.h>

void func1(int *a)
{
*a = 15;
}

int main()
{
int x = 0;
func1(&x);
printf("x=%d\n",x);
}

输出:

x=15

关于c - 函数的参数保留值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456498/

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