1 (first called b=-6ren">
gpt4 book ai didi

c - 有没有办法在不使用 c 中具有全局或模块范围的变量的情况下持久存储值?

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

例如,如果我编写一个名为 "add" 的 ftn,它使用一个 int "a" 并生成一个值 a + b, b 是最后一次调用产生的值。 例如

add(1) ==> 1 (first called b=0,then 1 + 0 = 1)
add(2) ==> 3 (second called b=1, then 2 + 1 = 3)
add(4) ==> 7 (third called b=3, then 3 + 4 =7)

编辑:即使不使用“静态”

最佳答案

为什么没有静态?这正是您所需要的,不是吗?否则,您可以将参数作为指针传递并在任何您想要的地方更改它。

void f( int * a )
{
*a += 5;
}

在主要的地方,或者任何你打电话的地方

int a = 0;
f( &a );
f( &a );

a 将为 10,您也可以在函数中使用它。

这有帮助吗?

关于c - 有没有办法在不使用 c 中具有全局或模块范围的变量的情况下持久存储值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120195/

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