K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[2380] Re:ポインタ完全制覇の質問
投稿者:(ぱ)こと管理人
2024/05/27 21:16:14

>C の場合 >変数定義で要素数を書かない場合(上記 static int a[]; が該当)には当該変数は >不完全型な仮定義 (tentative definition) になる・・・と言いたいところなんですが > static がある場合には仮定義にならず一発定義になります。 確認しました。ここについてはこれですかね。 | 6.9.2 外部オブジェクト定義 … | オブジェクトに対する識別子の宣言が仮定義であり,内部結合をもつ場合, | その宣言の型は不完全型であってはならない。 これを普通に読むと、 static int a[]; はそれ自体でコンパイルエラーになりそうなものですが (まあ実際、役に立たないと思いますし)、 | 大きさの分からない配列型は,不完全型とする。その型は,それ以降のその型の | 識別子の宣言(内部結合又は外部結合をもつ)で大きさを指定することによって, | 完全となる。 こっちでは(内部結合でも)それ以降の宣言で大きさを指定すればよい、 とあるようで、これがどういう時に有効なのか、読み解けていません…
[この投稿を含むスレッドを表示] [この投稿を削除]