ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

構造体

構造体の定義は次のようにして宣言する。

struct player {
    int hp;
    int mp;
};

実際にメモリに割り当てられたこの構造体の変数を宣言するには次の通り。

player test;

test.hp = 100;
test.mp = 100;

各メンバにアクセスするにはピリオドを使う。
定義といっしょに変数も宣言することもできる。

struct player {
    int hp;
    int mp;
} playerA, playerB;

また、構造体の変数を1つしか使わないことが分かっている場合は構造体の型名を省略できる。

struct {
    int hp;
    int mp;
} player;

この省略できる書き方は知らなかった。
Cのときは変数の宣言にstructを付けなくてはならなかったり、typedefを使ったりしたが、C++ではその必要はない。でもときどき癖でtypedefを使った書き方をしてしまうことがある。