ホームページ >バックエンド開発 >C++ >複数の C/C ファイル間でグローバル変数を共有するにはどうすればよいですか?

複数の C/C ファイル間でグローバル変数を共有するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-07 17:13:12464ブラウズ

How to Share Global Variables Between Multiple C/C   Files?

C/C の複数のファイルにわたるグローバル変数へのアクセス

C/C プログラムで複数のソース ファイルを操作する場合、多くの場合、それらの間でグローバル変数を共有するために必要です。これは、static 宣言や extern 宣言、ヘッダー ファイルの使用など、さまざまな方法で実現できます。

例を考えてみましょう。提供:

source1.cpp:

int global;

int function();

int main()
{
    global = 42;
    function();
    return 0;
}

source2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}

ソリューション1: ヘッダー ファイルextern

推奨されるアプローチは、両方のソースにインクルードされるヘッダー ファイルでグローバル変数 extern を宣言することです。ファイル:

common.h:

extern int global;

source1. cpp:

#include "common.h"

int global;  // Only define it in one file

int function();

int main()
{
    global = 42;
    function();
    return 0;
}

source2.cpp:

#include "common.h"

int function()
{
    if (global == 42)
        return 42;
    return 0;
}

これglobal の宣言が両方のソース ファイルに表示されるようにしますが、その定義は 1 つだけ (source1.cpp 内に) 存在します。 extern キーワードは、変数が別の場所で宣言されることを指定します。

以上が複数の C/C ファイル間でグローバル変数を共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。