📜  全局变量会危险吗?

📅  最后修改于: 2021-05-25 19:07:01             🧑  作者: Mango

在一个小的代码中,我们可以跟踪全局变量的值。但是,如果代码大小增加,它们会使代码难以理解(因此难以维护)。跟踪哪个函数修改了值以及如何修改变得很困难。

// 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基础课程》。