所以在我的c文件中有一个变量:

static int32_t currentAddress = 0x00000000;

我想知道是否使用currentAddress将say struct A中的字段设置为0。
然后假设我在别处增加currentAddress,A中的字段是否也会改变?
基本上我不明白static在这种情况下做什么,以及什么时候使用它。

最佳答案

A中的字段将得到currentAddress的当前值,即0。以后更改currentAddress不会影响A的字段,除非您再次使用currentAddress指定该字段,此时A的字段将具有新的currentAddress值。
声明器设置变量currentAddress的作用域和生存期。您还没有指定currentAddress是在文件范围内还是在函数内。不管怎样,除非您修改变量,否则变量将保留其值。

关于c - C文件中的静态变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20105806/

10-12 16:11