同じステートメントでの構造体型および変数の宣言

C 1 つのステートメントで、構造体型および構造変数を定義するには、 型定義の後に、宣言子とオプションの初期化指定子を置きます。 変数のストレージ・クラス指定子を指定するには、 ステートメントの先頭にストレージ・クラス指定子を入れる必要があります。

次に例を示します。

static struct {
                 int street_no;
                 char *street_name;
                 char *city;
                 char *prov;
                 char *postal_code;
              } perm_address, temp_address;

この例では、構造データ型に名前を付けないので、perm_addresstemp_address は、 このデータ型が指定された唯一の構造変数です。struct の後に ID を入れることによって、 プログラムの中に、後で、このデータ型の変数定義を追加することができます。

構造型 (またはタグ) は volatile 修飾子を持つことはできませんが、 メンバーまたは構造変数は、volatile 修飾子を持つように定義することができます。

次に例を示します。

static struct class1 {
                        char descript[20];
                        volatile long code;
                        short complete;
                     } volatile file1, file2;
struct class1 subfile;

この例では、構造体 file1file2 を修飾し、構造体メンバー subfile.codevolatile として修飾します。

関連参照

IBM Copyright 2003