如何在函数内声明全局变量?

时间:2013-12-30 20:55:53

标签: c++ variables loops global main

我在函数内部创建全局变量时遇到问题,这是一个简单的例子:

int main{
   int global_variable;  //how to make that
}

这正是我想要做的事情:

int global_variable;
int main{
                   // but I wish to initialize global variable in main function
}

4 个答案:

答案 0 :(得分:17)

你有两个问题:

  1. main不是循环。这是一个功能。

  2. 您的函数语法错误。您需要在函数名后面加上括号。这些都是main的有效语法:

    int main() {
    }
    
    int main(int argv, const char* argv[]) {
    }
    
  3. 然后,您可以在main内声明一个局部变量,如下所示:

    int main() {
      int local_variable = 0;
    }
    

    或者像这样分配一个全局变量:

    int global_variable;
    
    int main() {
      global_variable = 0;
    }
    

答案 1 :(得分:7)

无法以您想要的方式声明它。就是这样。

但是:

  • 首先,如果您愿意,可以在main正文之前声明它,但在main内为其指定一个值。看看保罗对此的回答
  • 其次,实际上没有以你想要的方式声明变量的优势。它们是全局,这意味着它们应该在全局范围内声明,而不是其他地方。

答案 2 :(得分:6)

int global_variable;
int main()
{
               global_variable=3; // look you assigned your value.
}

答案 3 :(得分:0)

好吧... 可以通过声明全局指针,然后再为它们分配局部变量来间接实现它,但是有时可能会导致指针变量不可访问的情况。