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

use*_*147 8 c++ variables program-entry-point loops global

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

int main{
   int global_variable;  //how to make that
}
Run Code Online (Sandbox Code Playgroud)

这正是我想要做的:

int global_variable;
int main{
                   // but I wish to initialize global variable in main function
}
Run Code Online (Sandbox Code Playgroud)

Jos*_*eld 18

你有两个问题:

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

  2. 你的函数语法错了.您需要在函数名后面加上括号.以下任何一种都是有效的语法main:

    int main() {
    }
    
    int main(int argv, const char* argv[]) {
    }
    
    Run Code Online (Sandbox Code Playgroud)

然后,你可以main像这样声明一个局部变量:

int main() {
  int local_variable = 0;
}
Run Code Online (Sandbox Code Playgroud)

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

int global_variable;

int main() {
  global_variable = 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 但是我可以在 main 中初始化全局变量吗? (3认同)

sas*_*hka 8

没有办法按照你想要的方式声明它.就是这样.

但:

  • 首先,如果你想要你可以在main正文之前声明它,但在里面给它赋值main.看看保罗对此的回答
  • 其次,实际上没有以你想要的方式声明变量的优势.它们是全球性的,这意味着它们应该在全球范围内宣布,而不是其他地方.


Bol*_*aul 6

int global_variable;
int main()
{
               global_variable=3; // look you assigned your value.
}
Run Code Online (Sandbox Code Playgroud)

  • @JosephMansfield哎呀,修好了.哈哈过了3年. (4认同)
  • -1.没有括号并调用赋值初始化. (2认同)