thisdesuのブログ

C言語はじめました

にほんブログ村 IT技術ブログ C/C++へ

構造体(struct)

沢山の変数を扱うときに決まった並びや、それを繰り返し利用する際に、この体系を定義するのを構造体と言います。
名前は何でもよいです。(予約名は除く)例えばint,int,char[10]の変数の並びの構造体を、kata と言う名前として定義も可能です。

struct kata
{
    int    first;
    int    second;
    char    third[10];
};


宣言する時は普通の変数の時と同じで、配列も出来ますしポインターとしても出来ます。

int main
{
    struct kata nor;
    struct kata arr[10];
    struct kata *ptr;
}


この構造体の中の1つ1つはメンバと呼びます。これらを参照や設定する場合には、実態なら[.]を使って名称をしてします。アドレスなら[->]を使います。

int main
{
    struct kata nor;
    struct kata arr[10];
    struct kata *ptr;

    nor.first = 10;
    printf("[%s]\n",nor.first);

    nor[0].first = 10;
    printf("[%s]\n",nor[0].first);

    prt = (struct kata)malloc(sizeof(struct kata));
    memset(ptr,0x00,sizeof(struct kata));

    nor->first = 10;
    printf("[%s]\n",nor->first);
}