構造体と共用体 数理情報システム工学科 担当: 汐月哲夫 2015/10/1 プログラミング方法論 [email protected] 1 構造体(structure) • 配列=同じ型の連続した並び • 構造体=異なる型の並び 2015/10/1 プログラミング方法論 [email protected] 2 構造体(structure) • 配列=同じ型の連続した並び 配列変数名+インデックス a 0 1 2 3 4 5 6 7 • 構造体=異なる型の並び a.s a.t a.u a.v a.w 2015/10/1 構造体変数名+メンバ名 プログラミング方法論 [email protected] 3 例題 2015/10/1 index data name 1 2 3 4 5 6 7 3.5 4.5 2.0 3.8 1.0 5.0 2.2 Aoki Toshiyuki Ashikari Tomoya Ichida Tetsuya Inamasu Taku Iba keiji Irie Mitsuaki Iwagami Tomoyuki プログラミング方法論 [email protected] 4 例題 2015/10/1 index data name 1 3.5 Aoki Toshiyuki フ ィ ー ル ド フ ィ ー ル ド レコード フ ィ ー ル ド プログラミング方法論 [email protected] 5 構造体の宣言 C言語の記述 構造体名 struct newstruct { int index; double data1; char name[10]; } x, y; 構造体 newstruct x y index data1 name メンバ名 変数名 2015/10/1 プログラミング方法論 [email protected] 6 構造体へのアクセス C言語の記述 x x.index 2 x.data1 3.5 x.name x.index = 2; y.index = 3; 3 <構造体変数名>.<メンバ名> x.data1 = 3.5; strcpy(y.name, “TEST”); 2015/10/1 y.index y.data1 y.name “TEST” struct newstruct { int index; double data1; char name[10]; } x, y; y プログラミング方法論 [email protected] 7 構造体へのポインタ C言語の記述 struct newstruct { int index; double data1; char name[10]; } x, y, *ptr; ptr x x.index 2 x.data1 3.5 x.name ptr = &x; ptr-> index = 2; ptr->data1 = 3.5; <構造体変数へのポインタ>-><メンバ名> 2015/10/1 プログラミング方法論 [email protected] 8 共用体の宣言 C言語の記述 struct newstruct { int index; union { double data1; char name[10]; } u; } x, y; 2015/10/1 構造体 newstruct x x.index x.u.data1 index u y data1 y.index y.u.name name プログラミング方法論 [email protected] 9
© Copyright 2024 ExpyDoc