c - 跨函数调用保留结构体的成员值

标签 c structure

我想知道是否有任何方法可以在函数调用之间保留结构的成员值,以防该结构是本地结构。对于原始数据类型,我们将它们声明为静态,并且数据将在函数调用之间保留。如果在调用部分定义结构或作为全局变量,我知道我们可以保留它。但只是好奇是否有其他替代方法可以在函数调用之间保留本地结构值。

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. */
}

最佳答案

wikipedia 中所述,只是为了做好准备:

...static is a reserved word controlling both lifetime (as a static variable) and visibility (depending on linkage). The word static is also used in languages influenced by C, such as Java.

静态被定义为存储类。存储类定义了变量和/或函数的范围和生命周期。存储类位于类型之前。不管它是否原始。

关于c - 跨函数调用保留结构体的成员值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47081482/

相关文章:

c - 将结构从一个列表的末尾移动到另一个列表的开头

python - 在 Python 中使用 ctypes 返回结构

c - 用 C 读取文件并将内容复制到结构体数组

c - 编译器如何解释 &a[0]+1 和 &a+1 计算

带有数据文件的命令行参数

c - 为什么我们还需要 read() 和 write() 系统调用,为什么我们不能用 ioctl 系统调用来代替它们?

c++ - 为链接列表中的 Node* 分配地址?

c - 关于编译中使用的标志

c - OpenMPI + Fortran + C 的基本测试根据奇怪的事情抛出不同的错误

c - 使用指针实现堆栈