のための唯一の型宣言私は、ANSI Cで構造体のような定義渡って実行しました:構造体の構文と複数のフィールド
struct My_data {
int a,
b,
c,
d;
};
と構造体は完全にこの一方向関数を作成しました。私の質問は、これがANSI Cの法的構文であるかどうかです.K &でそのような情報が見つかりませんでした。R
のための唯一の型宣言私は、ANSI Cで構造体のような定義渡って実行しました:構造体の構文と複数のフィールド
struct My_data {
int a,
b,
c,
d;
};
と構造体は完全にこの一方向関数を作成しました。私の質問は、これがANSI Cの法的構文であるかどうかです.K &でそのような情報が見つかりませんでした。R
はい、合法です。
それはと同等です:C11 draft, 6.7.2.1に構造体の文法を参照してください(ともC11, 6.7.6, declaratrorsのもの、具体的にあなたの質問に
struct My_data {
int a, b, c, d;
};
または
struct My_data {
int a;
int b;
int c;
int d;
};
あるいは
struct My_data {
int arr[4]; /* An array of 4 ints. This isn't strictly equivalent - but functionally equivalent */
};
)。
はい、合法です。 –
C11標準§6.7.2.1「構造体および共用体指定子」は、代替の1つが_struct-declarator-list: 構造体宣言子リスト '、' struct-declarator_であるルールを持っています。 '_struct-declarator_のための一つの可能性です。 –