変数宣言・定義の位置

コーディング中,上記タイトルのことで考え込んでしまう場合が結構ある.ANSI C ではどのような定義がなされているんだろうか.

今は,ある関数の内部でのみ用いる変数は,全てその関数内の先頭に宣言・定義している.もっと適切な表現があるはずだが,浅学のため知らない(恥この方法,短い関数ではあまり気にならないが,俺には少々分かりづらい場合が多い.それはつまり,俺が書く関数がどれも長すぎることをも意味するのかもしれない.

皆さんどうしてるんだろうか.意見求む.