在介绍完C语言中的external variable和functionscope rules之后, 这一次,我们来谈谈C语言中的static variablestatic function

对于external variable,关键字static可以用来限制该变量的scope为 它定义的这一行到文件末尾,并且无法通过extern声明来从其他文件来访问。 因此,我们可以说,static external variable对于它所在的文件是私有的

对于internal variablestatic可以使变量的值保持下来,不会随着所在函数 的调用而重新创建,或随着函数的退出而消失。

C语言中规定函数只能是external的,所以和external variable的效果一样, 对于static function来说,它的scope为其声明所在的那一行到文件结束, 其他文件无法通过声明来对它进行访问

最后,我们可以通过一张图来从计算机科学的角度看一下C/C++中的变量和函数 在stack中的位置:

stack and heap

以上。