1 構造体とは

   1.1 変数の型の違い
  これまで扱ってきた変数の型には整数型(int)、浮動小数型(float, double)、文字型(char)がある。 さらに、これらの型は配列として同じ型の複数のデータの集まりとして扱うことができました。 しかし、現実には異なる型の情報を関連のあるひとかたまりのデータとして扱うことがあります。例えばアドレス帳には氏名、住所、電話番号等の項目がありますが、氏名と住所は文字列のデータと考えることができ、電話番号は(ハイフンを考えなければ)数列とみなせるので浮動小数のデータとみなすことができます(桁数が多いので整数型では扱えません)。このとき、データの型を考えると文字列が2つと浮動小数が1つですが実際には 3つのデータでひとかたまりのデータとして処理を行うほうが扱いやすくなります。

  配列のみを使った場合データの管理は次のように行うことになります。

配列のみを使った場合データの管理のイメージ

  このようにした場合、1人分のデータの追加や削除、さらに並べ替えを行うときには各リストのデータの順序を考慮しながら処理しなければいけません。これを1人ごとのまとまったデータとして扱うと

1人ごとのまとまったデータとして扱った場合のイメージ

のようになります。このようにデータがまとまっていると追加や削除、並べ替えなどの処理も分かりやすくなります。C言語でこのように複数のデータをひとかたまりの情報として扱うためのものが構造体です。