これは奇妙です。Cで許可されている別の構造定義内で構造を定義することはどこにも読んでいません。しかし、このリンクは許可されていると言っています。
http://www.c4learn.com/structure-within-structure-nested.html
これは本当ですか?
これは奇妙です。Cで許可されている別の構造定義内で構造を定義することはどこにも読んでいません。しかし、このリンクは許可されていると言っています。
http://www.c4learn.com/structure-within-structure-nested.html
これは本当ですか?
はい、入れ子構造を宣言できます。構文は次のとおりです。
C11 (n1570)、§ 6.7.2.1 構造体および共用体指定子
struct-or-union-specifier: struct-or-union identifier (opt) { struct-declaration-list } struct-or-union identifier struct-declaration-list: struct-declaration struct-declaration-list struct-declaration
はい、別の構造内で構造を宣言できます。
私が見た 2 つの欠点は次のとおり
です。 1. 読みやすさ: 特にチーム プロジェクトの場合、コードが他のユーザーにとって読みにくくなる可能性があります。
2. 内部構造のスコープは外部構造のみに限定されますが、(定義方法によっては) 言うまでもなく、一度しか使用できず、同じ構造を再利用するには再度定義する必要があります。
お役に立てれば。