在链接中的存储类说明符
在主题静态局部变量下,我读到了
在块范围内使用说明符static声明的变量具有静态存储持续时间,但在控件第一次通过其声明时进行初始化(除非其初始化为零初始化或常量初始化,可以在首次进入该块之前执行该初始化)。
我不明白说什么实际上是什么意思:
可以在首次输入块之前执行
另外,可以说静态局部变量没有链接吗?
如有必要,您可以举一些例子吗?谢谢
相关的部分是何时知道初始值。
附加保证后,在首次执行该块之前不会更改它。
下面是带有一些示例的代码。
int foo(void);
void bar(void)
{
static int ZeroInit; // zero init
static int a = 0; // constant init
static int b = 4; // constant init
// values for above inits are known at start of runtime and even earlier
static int c = foo();
// dynamic init, value unknown before execution of foo(),
// which cannot (i.e. is defined not to) be done before executing the block
/* code */
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句