![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.1ベストアンサー
- 回答日時:
関数を先に書いてmainをあとにすると、
関数の変更があったら関数を書き換えればいいということですね。
では、main関数を先頭に置き、他の関数はプロトタイプ宣言だけ済ませてmainの後に置くとどうでしょう。
関数の変更は当然必要ですが、プロトタイプの変更を忘れずにすることが必須になりますよね。
そんなことは当然頭のなかに入れて変更作業は行いますが、
人間には悲しいかな、「うっかり」というのが頻発します。
出来ることなら変更仕様に載っている必要な変更部分のみの変更で済めばケアレスミスは減ります。
「mainは先頭に置く方が何かと良い」
というのは、人が見た時、関数からでは全体の処理の流れがわからないからです。
プログラムが実行される順にソースを追う場合、探しまわらなければならなくなるからです。
No.4
- 回答日時:
お好きにどうぞ。
大きなプログラムを書くときは複数のファイルに分割しますから、
mainだけで一本のファイルにすれば前も後もありませんからね。
No.3
- 回答日時:
プロトタイプ宣言などというものを関数の実体と合わせて書き、メンテナンスの際に同期をとらなくてはいけないというデメリットが……
……って、それデメリットですかねぇ? 確かに手間ですけど。
コンパイラの側としては、main の位置なんてどこにあってもかまいません。
むしろ、一番前に持ってくることで利益を得るのはプログラマの方です。
main を一番前に持ってくることで、最初から目を通すとまずプログラムの大まかな流れを理解し、そこでの細かな処理をそのあとで把握することができます。
自身が今読んでいるもの・箇所が全体的にどのような位置づけにあるのかを自覚していることはプログラムに限らず書物・文書すべてに当てはまります。
ためしに長めのプログラムの関数を main を一番最後にして並びかえて、先頭から読んでみてください。
main が最後にあるということを知らなければ非常に読みにくくなり、また、関数一覧をまとめたくなることになるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 競技プログラミングに関する質問です。 3 2022/04/03 19:51
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# C言語のwhileを含む関数について 2 2022/12/16 12:28
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
自動クエリとはどういうもので...
-
Excelで4096点以上のFFTの方法
-
Application.ScreenUpdatingが...
-
C言語で移動平均のプログラムを...
-
写真のプログラムは、1からnま...
-
MpCmdRun.exeって何?
-
インクリメント演算子のみを用...
-
ウイルスセキュリティ メッセー...
-
「Outlookが他のプログラムによ...
-
PCの起動確認プログラム
-
CreateObject関数について
-
VBAでユーザーフォームが自動的...
-
スポーツクラブの費用(これっ...
-
VBAにてメール作成した際、一部...
-
VC++コンソールアプリでウイン...
-
FUJITSUのarrowsTabで資料を編...
-
マイコンのバンク切り替え
-
素数の判定
-
スタティックプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
Excelに埋め込んだVBAのプログ...
-
長距離・マラソンをやりながら...
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
未使用の変数を一括検索する方法
-
読み込み中にアクセス違反が発...
-
VBAでユーザーフォームが自動的...
-
エクセルとワードをデスクトッ...
-
モジュール、アプリケーション...
-
テキストボックスのエンターキ...
-
画像を読み込むのと取り込むの...
-
インクリメント演算子のみを用...
-
Vba 実数および実数タイプの変...
-
main関数を先頭に置くデメリット
-
C言語でのaccess violationに...
-
Application.ScreenUpdatingが...
おすすめ情報