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 サイトの他の関連記事を参照してください。