1 つのステートメントで、構造体型および構造変数を定義するには、
型定義の後に、宣言子とオプションの初期化指定子を置きます。
変数のストレージ・クラス指定子を指定するには、
ステートメントの先頭にストレージ・クラス指定子を入れる必要があります。
次に例を示します。
static struct { int street_no; char *street_name; char *city; char *prov; char *postal_code; } perm_address, temp_address;
この例では、構造データ型に名前を付けないので、perm_address と temp_address は、 このデータ型が指定された唯一の構造変数です。struct の後に ID を入れることによって、 プログラムの中に、後で、このデータ型の変数定義を追加することができます。
構造型 (またはタグ) は volatile 修飾子を持つことはできませんが、 メンバーまたは構造変数は、volatile 修飾子を持つように定義することができます。
次に例を示します。
static struct class1 { char descript[20]; volatile long code; short complete; } volatile file1, file2; struct class1 subfile;
この例では、構造体 file1 と file2 を修飾し、構造体メンバー subfile.code を volatile として修飾します。
関連参照