我想知道是否有任何方法可以在结构是本地的情况下跨函数调用保留结构的成员值。在原始数据类型的情况下,我们将它们声明为静态,并且将跨函数调用保留数据。如果在调用部分中定义的结构或作为全局变量,我知道我们可以保留它。但只是好奇是否有其他替代方法可以在函数调用中保留局部结构值。
struct A
{
int mem1;
}
void f1(void)
{
struct A var1;
/*Now this var1 is a local variable. Declaring it as static will not help to retain value of mem1 across function calls I guess. */
}
答案 0 :(得分:0)
如wikipedia所述,只是为了设定阶段:
... static是一个控制两个生命周期的保留字(作为静态 变量)和可见性(取决于链接)。静态这个词是 也用于受C语言影响的语言,例如Java。
静态定义为存储类。存储类定义了变量和/或函数的范围和生命周期。存储类位于类型之前。无论它是否是原始的。