1. ホーム
  2. c

[解決済み】C言語でexternキーワードを正しく使用する方法

2022-04-15 06:05:15

質問

私の質問は、ある関数を参照する際に extern というキーワードを C 言語で使用することができます。

実際にどのような場面で使うべきなのかがわからない。 私がプログラムを書いているとき、私が使うすべての関数は、私がインクルードしたヘッダーファイルを通して利用できるようになっています。 では、なぜ extern ヘッダーファイルで公開されていないものにアクセスできるようにするためでしょうか?

の方法を考えることができました。 extern もしそうなら、訂正してください。

また、. あなたは extern ヘッダーファイルでキーワードを使用しないデフォルトの宣言である場合、何かをする必要がありますか?

どのように解決するのですか?

extern は、リンク先を変更します。キーワードを使用すると、関数/変数がどこか他の場所で利用可能であると見なされ、その解決はリンカーに委ねられます。

という違いがあります。 extern 関数上と変数上の

について 変数 は、変数自体をインスタンス化しない、つまり、メモリを割り当てない。これは他のどこかで行われる必要がある。したがって、どこか他の場所から変数をインポートしたい場合には、これは重要なことです。

については 関数 これは、コンパイラにリンクがexternであることを伝えるだけです。これはデフォルトであるため(キーワード static を使えば、関数がexternリンクで束縛されていないことを示すことができます)明示的に使用する必要はありません。