2

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

谢谢。

4

5 回答 5

3

在静态函数中声明的变量和在 C 中的普通函数中声明的变量之间有什么区别吗?

答:NO 没有区别

于 2013-01-16T07:53:43.453 回答
1

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

于 2013-01-16T08:09:59.677 回答
1

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

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

于 2013-01-16T07:51:41.970 回答
1

静态函数中使用的术语static使该函数仅适用于该特定.c文件。这不会对该静态函数内声明的变量(或)auto执行static任何操作。register

于 2013-01-16T08:42:31.840 回答
1

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

于 2013-01-16T08:51:44.790 回答