静态函数中的变量是静态变量吗?
我有一个中断处理程序函数,它是一个静态函数。并且其中包含一些变量。我不确定是否有必要在函数中旋转锁定这些变量以防止多重访问。
答案 0 :(得分:2)
除非用static
声明,否则块内定义的对象(每个函数定义都是一个块)没有静态存储持续时间。
如果声明中没有存储类说明符,则它将具有自动存储期限。
答案 1 :(得分:0)
static
关键字在应用于函数中的局部变量时,会将其放在进程的数据部分中,而不是堆栈中。
这意味着它将持续超出其范围,并且已定义行为将地址返回静态数组或字符串。
它与函数声明上的static
限定符无关,这使其仅对显示在其中的翻译单元可见。static
函数中的变量不会自动{{1} }。