構造体とは、一部のプログラミング言語において、複数の変数*や配列などをまとめて管理できるデータ型のことです。
例えば、以下は、あるプログラミング言語において、二つの変数*と一つの配列をまとめた構造体testを定義したものです。testの部分は、任意の名前が付けられます。
struct test{
int a;
int b;
char c[5];
};
なお、構造体の定義時に、それぞれの変数*や配列などの初期化はできません。
構造体が管理している変数*や配列などのことをメンバ変数と言います。
上記の構造体testであれば、a、b、cがメンバ変数です。
ある構造体を利用するには、その構造体を持った変数*(構造体変数)を宣言する必要があります。
例えば、上記の構造体testを持った構造体変数sを宣言するには、以下のようにします。
struct test s;
同じ構造体で複数の構造体変数の宣言も可能です。
struct test s;
struct test t;
構造体変数の宣言時にメンバ変数を初期化することも可能です。
例えば、以下は、上記の構造体変数sの宣言時にメンバ変数を適当な値で初期化する例です。
struct test s = {1, 2, {1, 2, 3, 4, 5}};
上記の構造体変数sのメンバ変数を参照するには、s.a、s.b、s.c[0]などを利用します。
以下は、それらのメンバ変数に値を代入する例です。
s.a = 1;
s.b = 2;
s.c[0] = 3;