モジュール化プログラミングにおけるグローバル変数はファイルにまたがって使用されます.


グローバル変数を定義したいですが、他のファイルは全部使えますが、hファイルで定義すれば、重複定義の問題が発生しやすいです.
eg:一つの工程には五つの書類があります. first.cfirst.h second.c.second.h
first.cでグローバル変数を定義したいですが、他のファイルは全部使えます.
作り方一(first.cで定義してください.他の呼出したいファイルにexternを入れてください.ヘッダファイルを抱え込むかどうかは関係ありません.)
first.h中

first.c中
#include 'firsr.h'
int a ;
....
second.c中
extern int a ;
....
メール.
extern int a ;
....
externに注意して初期化しないでください.初期化は定義です.声明ではなく、コンパイラがエラーを報告します.
作り方二(first.cで定義します.対応するヘッダファイルにexternを入れてください.その他はこのグローバル変数のファイルを呼び出したいです.このヘッダファイルを呼び出してください.)
first.h中
extern int a ;
....
first.c中
#include 'firsr.h'
int a ;
....
second.c中
#include "first.h"
....
メール.
#include "first.h"
....