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

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

WBOY
リリース: 2023-09-20 22:29:05
転載
1319 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート