2

これは奇妙です。Cで許可されている別の構造定義内で構造を定義することはどこにも読んでいません。しかし、このリンクは許可されていると言っています。

http://www.c4learn.com/structure-within-structure-nested.html

これは本当ですか?

4

3 に答える 3

2

はい、入れ子構造を宣言できます。構文は次のとおりです。

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
于 2013-07-18T15:34:06.493 に答える
1

はい、別の構造内で構造を宣言できます。
私が見た 2 つの欠点は次のとおり
です。 1. 読みやすさ: 特にチーム プロジェクトの場合、コードが他のユーザーにとって読みにくくなる可能性があります。
2. 内部構造のスコープは外部構造のみに限定されますが、(定義方法によっては) 言うまでもなく、一度しか使用できず、同じ構造を再利用するには再度定義する必要があります。

お役に立てれば。

于 2013-07-18T15:42:42.640 に答える