gpt4 book ai didi

c - 当函数结束时,这些函数变量会保持它们的值吗?

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

我对如何使函数内的变量保持其值以便下次再次调用该函数时它仍然保持与上次运行该函数时相同的值感到困惑。我知道我可以将变量传递给函数 etx。但我特别在寻找一种在函数本身内创建变量并使其保持值(value)的方法。

我要存储:

int count = 0;

这可以用指针以某种方式完成吗?

最佳答案

它们被称为 static变量。

void Func()
{
static int count =0;
count++;
}

这是一个示例:

#include <stdio.h>
int * Func()
{
static int count =-1;
count++;
return &count;
}
int main(void) {

printf("%d\n", *Func());
printf("%d\n", *Func());
printf("%d\n", *Func());
return 0;
}

输出:

0
1
2

关于c - 当函数结束时,这些函数变量会保持它们的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34880377/

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