関数はどこに書いてもいいという訳ではありません。

-----

int main(){

func();

return 0;

}


void func(){


}

-----


このように記述した場合、エラーとなります。

なぜなら、プログラムを構築する コンパイラも上から下へと処理していくため、

main() 関数の中で func() 関数を呼んでいますが、

その段階では、 func() 関数は定義されておらず、

そんな関数無いよ! とエラーを出してくるためです。


その為、関数は利用する前に定義しなければならないのです。

-----

void func(){

}

int main(){

func();

return 0;

}

-----