構造体

構造体とは、一部のプログラミング言語において、複数の変数*や配列などをまとめて管理できるデータ型のことです。

構造体の定義

例えば、以下は、あるプログラミング言語において、二つの変数*と一つの配列をまとめた構造体testを定義したものです。testの部分は、任意の名前が付けられます。

struct test{
    int a;
    int b;
    char c[5];
};

なお、構造体の定義時に、それぞれの変数*や配列などの初期化はできません。

メンバ変数

構造体が管理している変数*や配列などのことをメンバ変数と言います。

上記の構造体testであれば、abcがメンバ変数です。

構造体変数の宣言

ある構造体を利用するには、その構造体を持った変数*(構造体変数)を宣言する必要があります。

例えば、上記の構造体testを持った構造体変数sを宣言するには、以下のようにします。

struct test s;

同じ構造体で複数の構造体変数の宣言も可能です。

struct test s;
struct test t;

構造体変数の宣言時にメンバ変数を初期化する

構造体変数の宣言時にメンバ変数を初期化することも可能です。

例えば、以下は、上記の構造体変数sの宣言時にメンバ変数を適当な値で初期化する例です。

struct test s = {1, 2, {1, 2, 3, 4, 5}};

メンバ変数へのアクセス

上記の構造体変数sのメンバ変数を参照するには、s.as.bs.c[0]などを利用します。

以下は、それらのメンバ変数に値を代入する例です。

s.a = 1;
s.b = 2;
s.c[0] = 3;