<構造体の宣言と初期化>
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.
個々のメンバ同士を比較する必要があります。