ホームページ > バックエンド開発 > C++ > C のグローバル変数に `extern` キーワードを使用する必要があるのはどのような場合ですか?

C のグローバル変数に `extern` キーワードを使用する必要があるのはどのような場合ですか?

Mary-Kate Olsen
リリース: 2025-01-04 08:38:35
オリジナル
312 人が閲覧しました

When Should You Use the `extern` Keyword for Global Variables in C  ?

グローバル変数の宣言: C の extern キーワードを活用する場合

C の extern キーワードは、グローバル変数の管理において重要な役割を果たします。これを使用すると、グローバル変数を 1 回だけ定義しながら、複数のソース ファイルでグローバル変数の存在を宣言できます。

extern の役割を理解する

extern キーワードは、グローバル変数の存在をコンパイラに通知します。変数。定義は提供せず、単に名前と型を宣言するだけです。 extern を使用すると、再定義せずに他のソース ファイル内の変数にアクセスできます。

グローバル変数に extern を使用する利点

  • 集中宣言:別のヘッダー ファイルでグローバル変数を宣言し、それを含むすべてのソース ファイルでグローバル変数を使用できるようにします。 header.
  • 効率的な定義: 1 つのソース ファイル内でグローバル変数を 1 回だけ定義することで、不一致や混乱を防ぎます。
  • リンカー解決:リンカは複数のソース ファイルからオブジェクト ファイルを結合し、グローバル変数への参照を解決して、定義された変数が使用されるようにします。

使用例

次のことを考えてください。例:

header.h:

#ifndef HEADER_H
#define HEADER_H

extern int global_x;

void print_global_x();

#endif
ログイン後にコピー

ソース1.cpp:

#include "header.h"

// Define global_x here
int global_x = 5;

int main()
{
    print_global_x();
}
ログイン後にコピー

source2.cpp:

#include "header.h"

void print_global_x()
{
    std::cout << global_x << std::endl;
}
ログイン後にコピー

この例では、global_x が extern を使用して header.h で宣言されており、source1.cpp とsource2.cpp の両方に認識されます。ただし、source1.cpp でのみ定義されているため、両方のソース ファイルで使用できることが保証されています。

以上がC のグローバル変数に `extern` キーワードを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート