2011-08-02 4 views
1

私は新しいCプログラマですから、これはかなり基本的な質問です。プロジェクトでANSI Cファイルを整理するために推奨されるアプローチは何ですか?私は等のローカル宣言、列挙型を保持するための独自の.hファイルで約ダース.cファイルごとを持っている。しかし、私はまた私が持っている、また、そのようなANSI Cプロジェクトの優先的なアプローチは?

float LandingAltitudeList[2][17] = { 
    // P100 
    {12,-1000,0,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000}, 
    // P300 
    {16,-1000,0,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,1000,12000,13000,14000} }; 

enum PType {P100,P300}; 
enum Boolean {No=0,Yes=1,Off=0,On=1}; 

...など、かなりの数のグローバルパラメータを持っています...

float Alt_min = LandingAltitudeList[PhenomType][1]; 
int Max = LandingAltitudeList[PhenomType][0]; 
float Alt_max = LandingAltitudeList[PhenomType][Max]; 

私は一度だけ計算しますが、プロジェクト全体で使用します。これらは機能するために機能する必要があります。

これらのグローバルパラメータを処理するためにファイルをどのように整理すればよいですか?どうもありがとう。

答えて

1

これらの変数をヘッダファイルに宣言することもできます。おそらく、変数自体を不可視にし、それらをインターフェースするアクセス関数を宣言する方が適切でしょう。次の例を考えてみましょう:

/* in access.h */ 
int access_secret(); 
... 

/* in access.c */ 

/* the private variable */ 
static int very_secret; 

void calculate_secret() { 
    very_secret = 42; 
} 

void access_secret() { 
    return very_secret; 
} 

calculate_secretは、変数の値が必要な場合、モジュールが初期化されるときに、一度だけ呼び出され、access_secretされます。アレイの配列インデックスパラメータを追加することにより、システムを強化するのは簡単です。

+0

ありがとうございました。良いアプローチのように見えます。 – MonkeyBusiness

関連する問題