質問は平凡なc機能ではなくC++ の static
コメントで明確にされている方法。
変数とは何かは理解していますstatic
が、static
関数とは何でしょうか?
また、たとえばで関数を宣言し、 を含めた場合void print_matrix
は になりますが、 として宣言するとコンパイルされるのはなぜでしょうか。a.c
a.h
"a.c"
"print_matrix@@....) already defined in a.obj"
static void print_matrix
更新明確にするために - 皆さんの多くが指摘しているように、インクルードは良くないことはわかっています。私は、すべての関数を適切なファイルにグループ化する方法がよくわかるまで、.c
一時的にスペースを空けるためにインクルードしています。一時的な、素早い解決策です。main.c
.h
.c
ベストアンサー1
static
関数は、同じファイル内の他の関数(より正確には同じ翻訳ユニット)。
編集: 質問の作成者が「クラス メソッド」を意味していると思った人のために: 質問にタグが付いているので、C
彼は単純な古い C 関数を意味しています。(C++/Java/...) クラス メソッドの場合、static
このメソッドはクラス自体で呼び出すことができ、そのクラスのインスタンスは必要ありません。