C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

Cでのグローバル変数の再宣言


ここでは、Cでのグローバル変数の再宣言とは何かを確認します。Cはこれをサポートしているかどうかを確認します。次のコードを見て、それについてのアイデアを得ましょう。

#include <stdio.h>
int main(){
   int a;
   int a = 50;
   printf("a is : %d\n", a);
}

出力

[Error] redeclaration of 'a' with no linkage

したがって、ローカル変数を再宣言できないことがわかります。次に、グローバル変数の出力がどうなるかを見てみましょう。

#include <stdio.h>
int a;
int a = 50;
int main(){
   printf("a is : %d\n", a);
}

出力

a is : 50

したがって、この場合、グローバル変数はエラーを作成していません。ここで、最初の宣言が1つの値を保持しているかどうかを確認し、再宣言できるかどうかを確認しますか?

#include <stdio.h>
int a = 10;
int a = 50;
int main(){
   printf("a is : %d\n", a);
}

出力

[Error] redefinition of 'a'

したがって、グローバル変数が初期化されていない場合にのみ、グローバル変数を再宣言できることがわかります。


  1. Pythonプログラムのグローバルキーワード

    変数を宣言することもありますが、現在のプログラムのどこにあっても、その宣言の現在のスコープ外の値を変更またはアクセスする必要がある場合があります。このようなシナリオでは、変数が宣言されている関数内で変数名とともにGlobalキーワードを使用します。変数が関数内にない場合、スコープは自動的にグローバルになります。 関数外の変数 以下の例では、関数の外部に値が表示されていますが、関数の内部から値にアクセスできます。そのような変数はすでにスコープ内でグローバルであるためです。 例 x = 56 def func(): y = x *2    return y print(fun

  2. Pythonのグローバルキーワード

    Pythonプログラムの変数が異なれば、スコープも異なります。宣言されている場所に応じて、変数は関数内でアクセスできる場合とできない場合があります。関数内に存在する変数を、現在のスコープ外から変更する必要がある場合があります。このようなシナリオでは、変数名を持つグローバルキーワードを使用します。 グローバルキーワードに関する重要なポイントは次のとおりです 関数の外部で宣言された変数は、デフォルトではグローバル変数です。 関数内にある変数にはグローバルキーワードを使用して、変更できるようにします。 globalキーワードがない場合、関数内の変数はデフォルトでローカルです。