teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

補足説明の追加

2020/03/02 06:49

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -14,4 +14,20 @@
14
14
  void func4(int);
15
15
  と書いておけば、他のファイルに書くのは、#include "file4.h" だけで済みます。
16
16
 
17
- これで、ヘッダファイルと extern の使い方が分かりませんか?
17
+ これで、ヘッダファイルと extern の使い方が分かりませんか?
18
+
19
+ **追記**
20
+
21
+ file4.c に次のような関数と変数の定義があったとします。
22
+
23
+ void func41(int x) { ... } // 他から呼び出してほしい関数
24
+ void func42(int x) { ... } // 他から呼び出されなくてもよい関数
25
+ static void func43(int x) { ... } // 他から呼び出してほしくない関数
26
+ int var41; // 他から参照してほしい変数
27
+ int var42; // 他から参照されなくてもよい変数
28
+ static int var43; // 他から参照してほしくない変数
29
+
30
+ ヘッダファイル file4.h には
31
+ void func41(int);
32
+ extern int var41;
33
+ だけを書けばよい。