静态函数中的变量是静态变量吗?

时间:2019-02-02 02:35:11

标签: c static-methods

静态函数中的变量是静态变量吗?

我有一个中断处理程序函数,它是一个静态函数。并且其中包含一些变量。我不确定是否有必要在函数中旋转锁定这些变量以防止多重访问。

2 个答案:

答案 0 :(得分:2)

除非用static声明,否则块内定义的对象(每个函数定义都是一个块)没有静态存储持续时间。

如果声明中没有存储类说明符,则它将具有自动存储期限。

答案 1 :(得分:0)

static关键字在应用于函数中的局部变量时,会将其放在进程的数据部分中,而不是堆栈中。

这意味着它将持续超出其范围,并且已定义行为将地址返回静态数组或字符串。

它与函数声明上的static限定符无关,这使其仅对显示在其中的翻译单元可见。static函数中的变量不会自动{{1} }。

相关问题