プログラミング応用の後半は、 構造体(構造体・共用体・ビットフィールド)と、中間以降はグラフィックスという予定を 説明してから説明を開始。
構造体を使わない場合の問題点として、 名前と電話番号のデータベース構築をテーマに、 問題点を説明。 複数の配列を宣言すれば、途中で1人分のデータに変更が加わって、 配列宣言すべてを見なおさないといけなくなることを紹介。
// まずは構造体の宣言を理解してもらうため struct Person { // Personはタグ名 char name[ 20 ] ; // 要素の宣言 int age ; } table[ 50 ] ; // table は Person型の50件分 // 実際は、構造体の宣言と、構造体変数の宣言は別に書く。 struct Person { char name[ 20 ] ; int age ; } ; struct Person table[ 50 ] ; void main() { struct Person saitoh ; saitoh.age = 46 ; strcpy( saitoh.name , "斉藤" ) ; printf( "%s %d¥n" , saitoh.name , saitoh.age ) ; }
構造体は入れ子にすることもできる。
struct Person { char name[ 20 ] ; int age ; struct Birthday { int year ; int month ; int day ; } bday ; } ;
構造体変数の一括代入とか説明したけど、 構造体の初期化を説明しなかったな…