ポケットモンスターというゲームをご存知でしょうか?
ポケモンでは、自分が捕まえたポケモンのデータはてんでバラバラです。
しかし、ポケモン1匹に対するステータスは大量にあります。
名前, ニックネーム, レベル, 経験値, HP, 攻撃力, 防御力, 特殊攻撃力, 特殊防御力, 素早さ, なつき度, などです。
これらのデータを全て個別の変数で宣言するとなると大変です。
名前も統一しなければなりませんし、10個の変数が必要です。
しかし、これらの変数をまとめて1つの変数にすることができるのです。
違う型であってもです。
struct 変数名 {
メンバ;
};

このように、構造体を作成することで関連するデータをまとめることができます。
PokeDate1というのはあくまで汎用的なデータに過ぎません。
例えばピカチュウを捕まえた時に、PokeDate1のデータをPokeDate1型のHolding1変数へコピーすることができます。すると、Holding1のデータはピカチュウレベル1のデータとなるのです。
構造体に関しては、正直今から使いこなそうとする必要はありません。
C++では違う使い方をしますし、大量の変数を使う機会ができた時にまた考えれば良いでしょう。
C++では、構造体の代わりにより拡張された概念であるclassを使用します。
また、ポケットモンスターシリーズは任天堂と株式会社ポケモンの知的財産です。
ポケモンでは、自分が捕まえたポケモンのデータはてんでバラバラです。
しかし、ポケモン1匹に対するステータスは大量にあります。
名前, ニックネーム, レベル, 経験値, HP, 攻撃力, 防御力, 特殊攻撃力, 特殊防御力, 素早さ, なつき度, などです。
これらのデータを全て個別の変数で宣言するとなると大変です。
名前も統一しなければなりませんし、10個の変数が必要です。
しかし、これらの変数をまとめて1つの変数にすることができるのです。
違う型であってもです。
struct 変数名 {
メンバ;
};

このように、構造体を作成することで関連するデータをまとめることができます。
PokeDate1というのはあくまで汎用的なデータに過ぎません。
例えばピカチュウを捕まえた時に、PokeDate1のデータをPokeDate1型のHolding1変数へコピーすることができます。すると、Holding1のデータはピカチュウレベル1のデータとなるのです。
構造体に関しては、正直今から使いこなそうとする必要はありません。
C++では違う使い方をしますし、大量の変数を使う機会ができた時にまた考えれば良いでしょう。
C++では、構造体の代わりにより拡張された概念であるclassを使用します。
また、ポケットモンスターシリーズは任天堂と株式会社ポケモンの知的財産です。
コメント