静态函数和正常函数中的变量

时间:2013-01-16 07:42:42

标签: c variables static

我知道C中静态函数和普通函数之间的区别,我的问题是:在静态函数中声明的变量和在C中的普通函数中声明的变量之间是否有任何区别?

感谢。

5 个答案:

答案 0 :(得分:3)

  

在静态函数中声明的变量与在C中的普通函数中声明的变量之间是否有任何区别?

答案:没有差别

答案 1 :(得分:1)

不,static关键字仅适用于应用于函数的可见性。

函数的static关键字告诉编译器/链接器该函数不应该在文件外可见。应用于函数时,C中的static等同于Java或C ++等语言中的private

答案 2 :(得分:1)

函数中声明的变量与其存储类类型无关。函数中定义的所有变量(静态或非静态)将定义其范围,直到函数退出。 然而,一个静态或不静态的函数只会定义它对其他文件的可见性。

答案 3 :(得分:1)

静态函数中使用的术语static仅使该函数作用于该特定.c文件。这对静态函数中声明的变量(autostaticregister)没有任何作用。

答案 4 :(得分:1)

两个变量都是automatic,因此它们被分配在堆栈上。