関数はどうせオブジェクトファイルにするときシンボルテーブルを作るから勝手にextern同等の挙動になってると理解してるけど、逆になんでグローバル変数は勝手にexternにならないのかあんまり理解してないな(単に変数名は関数名より衝突しやすいという実用上の理由?)