構造体 • 構造体とは? 複数のデータをパックしたもの。 新しい“型“として使用できる 構造体 • キーワード struct strcutは構造体を宣言する命令。 struct { double x,y; }a,b,c; ←この形式で、構造体a,b,c,を定義 ↑ここまでが宣言 構造体 struct { double x,y; }a,b,c; このばあい、a,b,cの三つは同じ形の構造体 a,b,cそれぞれに、xとyのデータを持っている。 構造体 構造体のメンバ変数にアクセスするには・・・ アクセス演算子 “.”を使う。 構造体aのメンバ変数xに3を代入するには、 a.x=3; ↑アクセス演算子 構造体 構造体のメンバ変数にアクセスするには・・・ アクセス演算子 “.”を使う。 変数fに構造体bのメンバ変数yを代入するに は、 f=b.y; ↑アクセス演算子 構造体 struct宣言は、名前なしの構造体を宣言する。 struct { double x,y; }a,b,c; a,b,cは名前なしの同じ構造体の変数 構造体 • typedf命令 typedef A B; 型AはBという名前でも使えるようにする。 struct命令と一緒に使うと、 構造体に名前をつけて、 新しい型として使用できる。 構造体 • 例:二次元ベクトル Vector型の宣言 typedef struct { double x,y; } Vector; 以後、 Vector a,b,c; として、Vector型の変数a,b,c,の定義ができる。 構造体 型として構造体を定義したら・・・ typedef struct { double x,y; } Vector; 関数の型にも使用できる。 構造体 typedef struct { double x,y; } Vector; 関数の型 Vector Add(Vector A,Vector B) { Vector C; C.x=A.x+B.x; 関数の引数 C.y=A.y+B.y; 関数の戻り値 Return C; } 構造体 • printfやscanfでの構造体の変数の使い方 ↓ メンバ変数ごとにアクセスする。 例: scanf(“%lf,%lf”, &a.x, &a.y); 書式指定子はメンバ変数の型にあわせる 構造体 構造体
© Copyright 2024 ExpyDoc