- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語のヘッダファイルの使い方)
C言語のヘッダファイルの使い方
このQ&Aのポイント
- C言語のヘッダファイルを使う際の宣言方法について質問です。ソースファイルAとソースファイルBで共有する変数をヘッダファイルに記述する場合、どのような宣言が正しいのでしょうか?
- ヘッダファイルに変数を宣言する際、ソースファイルAで「int a」、ソースファイルBで「extern int a」と宣言すると、同じ変数を共有することができます。
- ただし、ヘッダファイルに「int a」と宣言すると、両方のソースファイルでincludeした場合に多重定義エラーが発生します。したがって、正しい宣言方法は「extern int a」とし、両方のソースファイルでincludeすることです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
共有するヘッダーに extern int a; と記述して int aの実体は C/CPPファイルに記述するといった使い方をするのが一般的でしょう --- myShare.h --- extern int a; ----------------- -- a.c ---- #include "myShare.h" int a; ------------ --- b.c ---- #include "myShare.h" void funcTest() { a = 3; } ------------ といった具合でしょう
お礼
ご回答ありがとうございます! 私が読んでいる参考書にはヘッダファイルについては5行程度しか触れておらず、ずっと悩んでしまっていました。 回答内容を参考にさせていただきながら勉強を進めていきたいと思います。 本当にありがとうございました。