在一个小的代码中,我们可以跟踪全局变量的值。但是,如果代码大小增加,它们会使代码难以理解(因此难以维护)。跟踪哪个函数修改了值以及如何修改变得很困难。
// A CPP program to demonstrate that a
// global variables make long code less
// maintainable.
int c = 1;
int fun1()
{
// 100 lines of code that
// may modify c and also
// call fun2()
}
void fun2()
{
// 100 lines of code that
// may modify c and also
// call fun1()
}
void main()
{
// 1000 lines of code
c = 0;
// 1000 lines of code
// At this point, it becomes difficult
// to trace value of c
if (c == 1)
cout << "c is 1" << endl
else
cout << "c is not 1 << endl
}
- 在上面的代码中,我们注意到全局变量的最大问题之一是Debugging 。这意味着,如果我们试图找出变量c在几千行代码之间的变化位置,这是非常困难的工作。
- 在多线程环境中,全局变量可能会更改一次以上(以不同的执行顺序)并引起更多的问题。
- 全局变量通常用于常量。不建议将它们用于非常量值。
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。