<構造体の宣言と初期化>

 

struct student {

         int no;

         char name[20];

         double average;

};

 

int main(void) {

         struct student seito1={5, "SUZUKI", 64.8};

         ...

 

 構造体の各メンバ変数は、上の例のように、宣言時に{}をつかって初期化することができます。

 

<メンバ変数への代入と参照>

 

 構造体の各メンバ変数へは、通常の変数と同様にscanf関数などを使って値を入れることができます。

 

scanf("%d %s %lf", &seito1.no, seito1.name, &seito1.average);

 

 値の参照も同様です。

 

printf("%d %s %f\n", seito1.no, seito1.name, seito1.average);

 

<構造体の一括代入>

 

 配列の場合は、各要素の値を一括代入することはできませんが、同一型の構造体では一括代入が可能です。

 

struct sample s1, s2;

....

s2=s1; // O.K.

 

<構造体の比較>

 

 構造体同士の一括比較はできません。

 

struct sample s1, s2;

....

if (s2==s1) // N.G.

 

 個々のメンバ同士を比較する必要があります。

 

 

戻る