c语言静态变量(c语言求二维数组最大值函数)
C语言中的静态变量是指由静态关键字修改的变量。静态变量有两种,一种是定义在全局变量上的全局静态变量,另一种是定义在局部变量上的局部静态变量。
静态变量
静态变量由关键字Static声明。接下来详细介绍一下C语言中静态变量是什么,有一定的参考价值,希望对格斗有帮助。
静态的意思是“静态”和“静态”。在C语言中是“静态”或“全局”的意思,用来修改变量和函数。静态修改的变量或函数范围会发生变化。变量存储在数据段上,这可以改变变量的范围和生命周期。在C语言中,静态变量分为两种形式,都是静态变量和局部静态变量。
全局静态变量
通过在全局变量前面添加关键字static,将全局变量定义为全局静态变量
(1)内存中的位置:静态存储区(静态存储区存在于整个程序运行期间)
(2)初始化:未初始化的全局静态变量会被程序自动初始化为0
(3)作用域:全局静态变量除了声明它的文件是不可见的。完全从定义到文件结尾。
局部静态变量
通过在局部变量前面添加关键字static,将局部变量定义为局部静态变量。
(1)内存中的位置:静态存储区
(2)初始化:未初始化的局部静态变量会被程序自动初始化为0(自动对象的值是任意的,除非为了初始化而显示)
(3)作用域:作用域仍然是局部作用域,定义它的函数或语句块结束时,作用域也就结束了。
注意
当使用static修改一个全局变量时,它改变了全局变量的作用域(除了声明它的文件是不可见的),但不改变它的存储位置,它仍然在静态存储区。
当使用static来修改局部变量时,它将局部变量的存储位置从原始堆栈更改为静态存储区域。但是,离开作用域后,局部静态变量并没有被破坏,而是仍然留在内存中,直到程序结束,但是我们再也无法访问它了。
C语言中使用静态函数的优势
(1)静态函数会自动分配到一个一直在使用的内存区域,直到退出程序,避免了推和推调用函数,速度快得多。
(2)静态意味着功能的范围仅限于本文件。不要担心您定义的函数是否会与其他文件中的函数同名
总结: