编程中的全局变量、资源利用与代码风格
1. 全局变量的危害
全局变量是指在整个软件系统中都能直接访问的内存位置。使用全局变量会使软件的不同部分以增加复杂性的方式耦合在一起,从而导致难以发现的微妙错误。
1.1 全局变量的定义
- 严格定义 :具有全局作用域的变量,即能在整个程序的任何地方被看到。
- 实际情况 :可以在定义它的模块范围之外或作为参数被接受的范围之外被访问的变量。在阅读代码时,它似乎凭空出现,既未定义,也不在输入参数列表中,除了文本搜索,很难弄清楚它的情况。
不同编程语言中全局变量的定义方式:
| 编程语言 | 全局变量定义方式 | 示例 |
| ---- | ---- | ---- |
| 汇编语言 | 通过标签访问的任何变量都是全局变量 | LDA MyVar , MyVar 是全局变量 |
| 经典 BASIC | 所有变量都是全局变量 | 无 |
| C 和 C++ | 定义在过程作用域之外的所有变量 | int GlobVar; |
| Java | 除非特意声明为全局,否则变量通常不是全局的,如通过声明 public static 变量使其在声明对象之外可见 | 无 |
需要注意的是,动态变量和静态变量与局部变量和全局变量容易混淆。动态变量在运行时自动在栈上创建,而静态变量有永久地址,能无限期保留其值。静态变量不一定
超级会员免费看
订阅专栏 解锁全文
1575

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



