[解決済み] なぜほとんどのC言語開発者はconstの代わりにdefineを使うのですか?重複] [重複
2022-12-07 10:21:51
質問
多くのプログラムでは
#define
は定数と同じ役割を果たします。 例えば
#define FIELD_WIDTH 10
const int fieldWidth = 10;
私は一般的に、最初の形式が他よりも優先されるのを見ます。これは、基本的にアプリケーションの決定を処理するためにプリプロセッサに依存しているからです。 この伝統には理由があるのでしょうか?
どのように解決するのですか?
これには非常に確かな理由があるのです。
const
は何かが一定であることを意味しません。それはただ、変数が読み取り専用であることを意味します。
コンパイラが真の定数を要求する場合(VLA以外の配列のサイズなど)には、変数に
const
のような変数を使用します。
fieldWidth
はどうしても無理です。
関連
-
Cエラー [エラー] 代入_Ashesの左オペランドにlvalueが必要です-プログラマーズ・シークレット
-
[解決済み] mallocで文字列を確保する
-
[解決済み] なぜmemsetではなくbzeroを使用するのですか?
-
[解決済み] Linuxカーネルにおけるcontainer_ofマクロの理解
-
[解決済み] マクロで無意味なdo-while文やif-else文を使っているのはなぜですか?
-
[解決済み] C++のヘッダーファイルで#ifndefと#defineが使われているのはなぜですか?
-
[解決済み] Androidのチュートリアルで、ほとんどのフィールド(クラスメンバー)が`m`で始まるのはなぜですか?
-
[解決済み】"static const" vs "#define" vs "enum"
-
[解決済み】static constと#defineの比較
-
[解決済み] define、enum、constのどれを使うべきですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
関数 'malloc' の暗黙の宣言に対する解決策
-
C/C++の再定義
-
警告: 'struct XXX' はパラメータリストの内部で宣言されています。
-
[解決済み] Windows用Cコンパイラ?[クローズド]
-
[解決済み] CコードでEOFを表現する?
-
[解決済み] ソケットアクセプト - "開かれているファイルが多すぎる"
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] C 言語の配列へのポインタ/ポインタの配列の曖昧さ解消
-
[解決済み] LD_PRELOADのトリックとは何ですか?
-
[解決済み】"static const" vs "#define" vs "enum"