ホームページ  >  記事  >  バックエンド開発  >  C プログラムでのグローバル変数の再宣言

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

WBOY
WBOY転載
2023-09-20 22:29:051253ブラウズ

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

初期化なしでグローバル変数を再宣言する場合、初期化を伴うグローバル変数を再宣言する場合、グローバル変数を再宣言して 2 回異なる初期化を行う場合に、C と C がどのように動作するかを見ていきます。さらに、ローカル変数を使用して上記の組み合わせを繰り返します。

1. A) C プログラム: 初期化せずにグローバル変数を再宣言します

#include <stdio.h>
int var;
int var;
int main(){
   printf("Var = %d",var);
   return 0;
}

出力

Var = 0

B) C プログラム: 初期化せずにグローバル変数を再宣言します

#include <iostream>
using namespace std;
int var;
int var;
int main(){
   cout<<"Var = "<<var;
   return 0;
}

Output

Compilation Error: int var;
main.cpp:3:5: note: &lsquo;int var&rsquo; previously declared here

Result: - C では、初期化せずにグローバル変数を再宣言できます。値は 0 のままです。 C では、変数が再宣言されたことを示すコンパイル エラーが発生します。

2. A) C プログラム: 初期化せずにローカル変数を再宣言します

#include <stdio.h>
#include <stdio.h>
int main(){
   int var;
   int var;
   printf("Var = %d",var);
   return 0;
}

出力

error: redeclaration of &lsquo;var&rsquo; with no linkage

B) C プログラム: 初期化せずにローカル変数を再宣言します

#include <iostream>
using namespace std;
int main(){
   int var;
   int var;
   cout<<"Var = "<<var;
   return 0;
}

Output

error: redeclaration of &lsquo;int var&rsquo;

Result: - C も C++ も、初期化を完了せずにローカル変数を再宣言することはできません。どちらのプログラムもコンパイルに失敗します。

3. A) C プログラム: グローバル変数を再宣言して初期化します

#include <stdio.h>
int main(){
   int var;
   int var=10;
   printf("Var = %d",var);
   return 0;
}

出力

Var = 10

B) C プログラム: グローバル変数を再宣言して初期化します

#include <iostream>
using namespace std;
int var;
int var=10;
int main(){
   cout<<"Var = "<<var;
   return 0;
}

出力

main.cpp:7:9: error: redeclaration of &lsquo;int var&rsquo;
int var;

結果: -C を使用すると、初期化されていないグローバル変数の再宣言が可能になります。 C プログラムのコンパイルに失敗しました。

4. A) C プログラム: グローバル変数を再宣言し、初期化します

#include <stdio.h>
int var;
int var=10;
int main(){
   printf("Var = %d",var);
   return 0;
}

出力

error: redeclaration of &lsquo;var&rsquo; with no linkage

B) C プログラム: 初期化を通じてローカル変数を再宣言します

#include <iostream>
using namespace std;
int main(){
   int var;
   int var=10;
   cout<<"Var = "<<var;
   return 0;
}

Output

error: redeclaration of &lsquo;int var

Result: - C も C も、初期化されていない場合でも、ローカル変数の再宣言を許可しません。どちらのプログラムもコンパイルに失敗しました

以上がC プログラムでのグローバル変数の再宣言の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。