好奇心コーナー: C での空のメモリの割り当て
C プログラミングの領域では、興味深い質問が生じます。空のブロック、new で表されるint[0].
テスト アプリケーションからの観察
new int[0] の結果を出力する単純なテスト アプリケーションは、0x876c0b8 の出力を示します。メモリは実際に割り当てられています。
標準
C 標準は、この問題に関するガイダンスを提供しています:
追加考慮事項
脚注の洞察
3.7.3.1/2 の興味深い脚注は、その意図が演算子 new() の実装を有効にすることであることを明らかにしています。 malloc() または calloc() のいずれかを使用します。これらは、サイズがゼロのリクエストに関して同様に動作します。ただし、C は、非 null ポインターを返すためにサイズ 0 のリクエストを必要とする点で C とは異なります。
以上がC `new int[0]` は空のメモリを割り当てることができますか? 割り当てられる場合、どのような影響がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。