【C言語】グローバル変数にexternを付ける意味について解説

この記事では、C言語におけるexternキーワードの役割と使い方、グローバル変数にexternを付ける意味、そして具体的な例を通じて理解を深めることができます。

初心者の方でもわかりやすく解説していきますので、ぜひ最後までお読みください。

目次から探す

externキーワードとは

externキーワードの役割と使い方

C言語において、externキーワードは変数や関数が外部で定義されていることを示すために使用されます。

externキーワードを付けることで、他のソースファイルやモジュールからその変数や関数を参照することができます。

externキーワードの利点と注意点

externキーワードを使用することで、変数や関数を複数のソースファイルで共有することができます。

これにより、プログラムのモジュール化や再利用性の向上が可能となります。

ただし、externキーワードを適切に使用するためには注意が必要です。

変数や関数の宣言と定義が一致していることや、正しいスコープで使用されていることを確認する必要があります。

グローバル変数にexternを付ける意味

グローバル変数の宣言と定義の分離

グローバル変数は通常、ソースファイルの先頭で宣言され、その後で定義されます。

しかし、複数のソースファイルで同じグローバル変数を使用する場合、externキーワードを使用して変数の宣言を別のファイルに分離することができます。

これにより、変数の宣言をヘッダファイルにまとめることができ、ソースファイル間での変数の共有が容易になります。

プログラムのモジュール化と再利用性の向上

externキーワードを使用することで、プログラムを複数のモジュールに分割することができます。

各モジュールは独立してコンパイルされ、必要なモジュールだけをリンクすることができます。

これにより、プログラムのメンテナンスや再利用性が向上し、大規模なプロジェクトの開発が容易になります。

グローバル変数にexternを付ける例

複数のソースファイルで共有する変数の宣言と定義

例えば、以下のようなソースファイルがあるとします。

// main.c
#include <stdio.h>
extern int globalVariable; // グローバル変数の宣言
int main() {
    printf("%d\n", globalVariable); // グローバル変数の使用
    return 0;
}
// global.c
int globalVariable = 10; // グローバル変数の定義

上記の例では、main.cとglobal.cという2つのソースファイルがあります。

main.cでは、externキーワードを使用してglobalVariableの宣言を行っています。

そして、global.cではglobalVariableの定義を行っています。

このようにすることで、main.cからglobal.cで定義されたglobalVariableを参照することができます。

ヘッダファイルの利用とexternの組み合わせ

さらに、ヘッダファイルを使用することで、externキーワードをより効果的に活用することができます。

// main.c
#include <stdio.h>
#include "globals.h"
int main() {
    printf("%d\n", globalVariable); // グローバル変数の使用
    return 0;
}
// global.c
#include "globals.h"
int globalVariable = 10; // グローバル変数の定義
// globals.h
extern int globalVariable; // グローバル変数の宣言

上記の例では、globals.hというヘッダファイルを作成し、globalVariableの宣言を記述しています。

main.cとglobal.cの両方でこのヘッダファイルをインクルードすることで、globalVariableを共有することができます。

ヘッダファイルを使用することで、変数の宣言を一箇所にまとめることができ、プログラムの保守性や可読性が向上します。

externキーワードを使用することで、複数のソースファイルで同じ変数や関数を共有することができます。

また、ヘッダファイルを使用することで、変数や関数の宣言を一箇所にまとめることができ、プログラムの保守性や可読性が向上します。

目次から探す