externとconstの混在 質問する

externとconstの混在 質問する

externとconstを混ぜてもいいですか?外部定数? はいの場合、定数修飾子は宣言された範囲内でのみその支配を課すのか、それとも宣言された翻訳単位の宣言と正確に一致する必要があるのか​​?つまり、extern const int i;実際のは const ではありませんか? またその逆はどうですか?

ベストアンサー1

  • はい、一緒に使用できます。
  • そして、それは実際に宣言されている翻訳単位の宣言と正確に一致する必要があります。もちろん、あなたが裏Cプログラミングコンテスト:-)

通常のパターンは次のとおりです。

  • ファイル.h:
    extern const int a_global_var;
  • ファイル.c:
    #include "file.h"
    const int a_global_var = /* some const expression */;

編集: legends2k さんのコメントを組み込みました。ありがとうございます。

おすすめ記事