static int foo;
(1) 如果 static int foo; 这一句位于函数中,则 static 表示的是存储属性,表明 foo 是一个静态局部变量。
(2) 如果 static int foo; 这一句位于函数外面,则 foo 是一个静态全局变量,static 不再是表示存储性质,而是作为限制符来使用:用来限制全局变量 foo 的可见范围,将其作用域限制于所在的文件内,在其它文件中是不可见的。故在其它文件中不可以用 extern 引用到 foo。
以上具体含义,不是很理解,但实际效果确实如上所说,先记录下来。
(1) 如果 static int foo; 这一句位于函数中,则 static 表示的是存储属性,表明 foo 是一个静态局部变量。
(2) 如果 static int foo; 这一句位于函数外面,则 foo 是一个静态全局变量,static 不再是表示存储性质,而是作为限制符来使用:用来限制全局变量 foo 的可见范围,将其作用域限制于所在的文件内,在其它文件中是不可见的。故在其它文件中不可以用 extern 引用到 foo。
以上具体含义,不是很理解,但实际效果确实如上所说,先记录下来。
本文详细解析了静态局部变量与静态全局变量的区别,包括它们在函数内外的存储属性与可见性。通过实例阐述了静态关键字在限制变量作用域方面的应用,帮助开发者掌握变量管理技巧。
1604

被折叠的 条评论
为什么被折叠?



