>>34
ヘッダに宣言しても確かに意味ないですね。
やったら各ソースで見つからないと怒られるのかな。。。後でやってみます。
関数が定義されているソース内のプロトタイプ宣言でも static は結構書いてないのが
多そうな気がするのですが、気のせいでしょうか。

>>35
記憶クラスを省略した場合は extern というのは一応分かってるつもりです。
プロトタイプ宣言の場合は、違う説明をしているサイトがあって混乱してますが。。。
自分が特に疑問に思ったのは下記のような場合です。(関数名はかえました。)

testA.c
 static void testA(void); /* プロトタイプ宣言は static */
 extern void testA(void) { /*...*/ } /* 関数宣言は extern */

testB.c
 int main(void) { testA(); } /* 外部参照の未解決が発生。static が優先されてしまう。。。? */