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

问题描述 投票:0回答:5

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

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

这正是我想做的:

int global_variable;
int main{
                   // but I wish to initialize global variable in main function
}
c++ variables loops global program-entry-point
5个回答
22
投票

你有两个问题:

  1. main
    不是循环。这是一个函数。

  2. 您的函数语法错误。函数名称后面需要有括号。其中任何一个都是

    main
    :

    的有效语法
     int main() {
     }
    
     int main(int argc, const char* argv[]) {
     }
    

然后,您可以在

main
中声明一个局部变量,如下所示:

int main() {
  int local_variable = 0;
}

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

int global_variable;

int main() {
  global_variable = 0;
}

12
投票

无法按照您想要的方式声明。就是这样。

但是:

  • 首先,如果您愿意,可以在
    main
    主体之前声明它,但在
    main
    内部为其赋值。看看保罗的回答
  • 其次,实际上按照你想要的方式声明变量并没有什么好处。它们是global,这意味着它们应该在global范围内声明,而不是在其他地方。

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

1
投票

嗯... 通过将指针声明为全局,然后将局部变量分配给它们,可以间接实现这一点,但有时可能会导致指向的变量无法访问的情况。


0
投票
void foo(){

静态变量=10; }

静态意味着它是全局的

© www.soinside.com 2019 - 2024. All rights reserved.