構造体

いくつかの異なる型の要素をまとめて、1つの新しい型として扱うことができるのが、構造体・・・。

ここでは、名前、年齢、住所(といっても都道府県ぐらいでいいが)という3つの要素を、1つにまとめた簡易名簿の構造体を定義し、その構造体の変数各要素に入力されたデータをセットし、その後それらを出力するプログラムを作る・・・。

まず、main関数の前で、構造体を定義する・・・。

構造体は、

struct <構造体タグ名>{
  <要素の型> <要素名>;
  <要素の型> <要素名>;
  .
  .
  .
};

と定義していく・・・。

struct_tag_profileというタグ名にして、

名前は長さ32のchar型配列name
年齢はint型変数age
住所は長さ128のchar型配列address

に格納するような形にしている・・・。

main関数の中では、最初に構造体変数を宣言する・・・。

先頭にstructを付け忘れないように・・・。

scanfで各要素に値をセットしていく・・。

構造体変数の各要素にアクセスするには、メンバ演算子('.')を使って、

<構造体変数名>.<要素名>

と書く・・・。
なので、

こんな感じで3つの要素を入力させる・・・。

終わったら、3つの要素をあらためて出力・・・。

実行すると、

$ ./struct
prof.name: Taro
prof.age: 20
prof.address: Tokyo
prof.name = Taro, prof.age = 20, prof.address = Tokyo

1~3行目で入力した各要素が、4行目で一斉に出力されてるのがわかる・・・。

Sample/struct.c at master · bg1bgst333/Sample · GitHub