web-dev-qa-db-ja.com

関数内でグローバル変数を宣言する方法は?

関数内でグローバル変数を作成するのに問題があります。これは簡単な例です。

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

これはまさに私がやりたいことです:

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

2つの問題があります。

  1. mainはループではありません。それは機能です。

  2. 関数の構文が間違っています。関数名の後に括弧を付ける必要があります。これらのいずれかは、mainの有効な構文です。

    int main() {
    }
    
    int main(int argv, const char* argv[]) {
    }
    

次に、次のようにmain内でローカル変数を宣言できます。

int main() {
  int local_variable = 0;
}

または、次のようにグローバル変数に割り当てます。

int global_variable;

int main() {
  global_variable = 0;
}
18

宣言それをあなたが望む方法にする方法はありません。以上です。

だが:

  • まず、必要に応じて、main本体の前で宣言できますが、main内で値を割り当てます。そのためのポールの答えを見てください
  • 第二に、実際には、変数を希望どおりに宣言する利点はありません。それらはglobalであり、つまり、globalスコープで宣言する必要があり、他の場所では宣言しないでください。
8
sasha.sochka
int global_variable;
int main()
{
               global_variable=3; // look you assigned your value.
}
6
Boldijar Paul

まあ...ポインタをグローバルに宣言し、後でローカル変数を割り当てることで間接的に可能ですが、ポイントされた変数にアクセスできない状況が発生する場合があります。

0
General Chaos