すべてのコードが*.c/*.hファイルのペアで編成されているCプロジェクトがあり、1つのファイルで定数値を定義する必要がありますが、他のファイルでも使用されます。この値をどのように宣言して定義する必要がありますか?
static const ...それはファイルのようにすべき*.hですか?ファイルのようextern const ...に、*.hファイルで定義されてい*.cますか?int値がプリミティブデータ型( 、、doubleなど)ではなく、achar *またはaであるかどうかは、どのように重要structですか?(私の場合はですがdouble。)
ファイル内のものを定義すること*.hは、一般的には良い考えとは思えません。ファイルで物事を宣言する必要があり*.hますが、ファイルでそれらを定義し*.cます。ただし、extern const ...コンパイラは値をインライン化できないため、このアプローチは非効率的であるように見えます。代わりに、常にそのアドレスを介してアクセスする必要があります。
この質問の本質は次のとおりです。複数の場所で値を使用するには、Cのファイルでstatic const ...値を定義する必要がありますか?*.h