第19.5回

構造体を使うメリット


第19回では、RPGなどで登場する人物の各能力値を管理する際、 「登場人物数*能力の要素の数」分の変数を宣言するのではなく、 構造体を使用する方法を説明しました。

つまり、能力の要素を構造体にまとめて、登場人物の数だけ、 その構造体をデータ型とする変数を宣言するといった方法です。

こうすることで、ある人物の全ての能力値を関数に渡す際、 その構造体をデータ型とする変数を1つ渡すだけで、それが可能 となります。構造体を使っていないと、関数に能力の要素数分 の引数が必要となってしまいます。

int Func(char *name,int hp,int hp_max,int mp,int mp_max,
         int lv,int gold,int un,int kiai,int item_no);
これでは混乱を招いてしまいます。そこで、以下のように、

typedef struct{
    char *name;  
    int hp;
    int hp_max;
    int mp;
    int mp_max;
    int lv;
    int gold;
    int un;
    int kiai;
    int item_no;
}zinbutsu;
といった構造体を用意しておけば、関数側は、

int Func(zinbutsu who);
だけで済んでしまうのです。
つづく。

[メニュー][第19回][第20回]

いーざ
email:CQP00202@nifty.ne.jp