TOP - C言語 - 構造体 - 宣言

構造体の宣言は次のような形式となります。

struct 名前1 {型名 名前2; ... };

名前1 : 宣言する構造体の識別名
型名  : 構造体メンバーの型名
名前2 : 構造体メンバーの識別名
        ...以降構造体メンバーは複数列挙可能

struct {型名 名前1; ... } 名前2, ...;

型名  : 構造体メンバーの型名
名前1 : 構造体メンバーの識別名
        ...以降構造体メンバーは複数列挙可能
名前2 : 構造体として利用する変数名
        複数記述可能

(例)
#include <stdio.h>

struct struct_test
{
    int i;
    double d;
};

int main ()
{
    struct struct_test st1;                    // 定義済みの構造体の変数を宣言
    struct struct_test st2 = {3, 4.0};         // 変数の宣言と同時に初期値を設定

    struct {int i; double d;} st3;             // 識別名の無い構造体の変数を宣言

    st1.i = 2;
    st1.d = 3.0;

    st3.i = 4;
    st3.d = 5.0;

    printf("st1 = {%d, %3.1f}\n", st1.i, st1.d);
    printf("st2 = {%d, %3.1f}\n", st2.i, st2.d);
    printf("st3 = {%d, %3.1f}\n", st3.i, st3.d);

    return 0;
}

実行結果
st1 = {2, 3.0}
st2 = {3, 4.0}
st3 = {4, 5.0}


Copyright(C) 2006-2012 CLAYPOT. All Rights Reserved.