Last Update 2012/07/05
構造体の宣言は次のような形式となります。
struct 名前1 { 型名 名前2 ; ... };
名前1 : 宣言する構造体の識別名
型名 : 構造体メンバーの型名
名前2 : 構造体メンバーの識別名
型名 : 構造体メンバーの型名
名前2 : 構造体メンバーの識別名
...以降構造体メンバーは複数列挙可能
struct { 型名 名前1 ; ... } 名前2 , ...;
型名 : 構造体メンバーの型名
名前1 : 構造体メンバーの識別名
名前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}