Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 静态函数中的变量是静态变量吗?_C_Static Methods - Fatal编程技术网

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

C 静态函数中的变量是静态变量吗?,c,static-methods,C,Static Methods,静态函数中的变量是静态变量吗 我有一个中断处理函数,它是一个静态函数。其中有一些变量。我不确定是否有必要在函数中自旋锁定这些变量以防止多重访问 块内定义的对象(每个函数定义都是块)没有静态存储持续时间,除非使用static声明 如果在没有存储类说明符的情况下声明它,则它具有自动存储持续时间。当将static关键字应用于函数中的局部变量时,会将其放入进程的数据部分,而不是堆栈内存中 这意味着它将在其作用域之外继续存在,并将地址返回到静态数组或字符串是其行为所定义的 它与函数声明上的静态限定符无关,

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


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

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


如果在没有存储类说明符的情况下声明它,则它具有自动存储持续时间。

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

这意味着它将在其作用域之外继续存在,并将地址返回到静态数组或字符串是其行为所定义的

它与函数声明上的
静态
限定符无关,这使得它只对它出现在其中的翻译单元可见。
static
函数中的变量本身不会自动
static