プログラム言語 II TOP

構造体の概要



1. 構造体(structure)
そろそろ学期末なので,成績をつけなければなりません。成績をコンピュータで処理する場合,学生一人分のデータはどのようなものになるでしょうか。ただし,ここでは,簡略化したもので考えます

  学生番号(ここでは,単に整数とします)
  成績(A,B,C,Dのいずれか1文字)
  試験の点数(整数)

この3つを,一人分のデータとします。

つまり,整数型データが2つ,文字型データが1つということになります。このように異なった型のデータをまとめてひとつのデータとして扱えるようにするものが,構造体です(同じ型のデータをまとめる場合もある)

 

これは,整数型変数 no,文字型変数 rank,整数型変数 point をひとつの構造体としてまとめ,それに GRADE という型名をつけるものです。なお,no,rank や point を構造体を構成するメンバ(member)と呼びます。

GRADE は,int や float と同じ型名なので,その型をもつ変数を宣言できます。

 

st は,GRADE型の構造体変数となります。そして,st のメンバは,

 

のように,構造体変数名の後に .とメンバの名前をつけたもので参照することができます。


2. 例題
構造体型 GRADE を用いて,学生番号と試験の点数を入力して,点数が
 80 点以上なら,成績を A,
 79点から70点なら,成績を B,
 69点から60点なら,成績を C,
 59点以下なら,成績を D
と評価するプログラムが,次のものです。

 


3. 演習
実際に成績を処理する場合は,一人だけということはないでしょう。複数の学生の成績を処理するプログラムを考えることにします。これには,構造体を要素にもつ配列(構造体配列)を用います。

解答例



プログラム言語 II TOP