1 構造体とは
1.1 変数の型の違い
これまで扱ってきた変数の型には整数型(int)、浮動小数型(float, double)、文字型(char)がある。
さらに、これらの型は配列として同じ型の複数のデータの集まりとして扱うことができました。
しかし、現実には異なる型の情報を関連のあるひとかたまりのデータとして扱うことがあります。例えばアドレス帳には氏名、住所、電話番号等の項目がありますが、氏名と住所は文字列のデータと考えることができ、電話番号は(ハイフンを考えなければ)数列とみなせるので浮動小数のデータとみなすことができます(桁数が多いので整数型では扱えません)。このとき、データの型を考えると文字列が2つと浮動小数が1つですが実際には
3つのデータでひとかたまりのデータとして処理を行うほうが扱いやすくなります。
配列のみを使った場合データの管理は次のように行うことになります。
このようにした場合、1人分のデータの追加や削除、さらに並べ替えを行うときには各リストのデータの順序を考慮しながら処理しなければいけません。これを1人ごとのまとまったデータとして扱うと
のようになります。このようにデータがまとまっていると追加や削除、並べ替えなどの処理も分かりやすくなります。C言語でこのように複数のデータをひとかたまりの情報として扱うためのものが構造体です。