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の方法
-
あるプログラムのコマンドライ...
-
binファイルってiphone専用です...
-
読み込み中にアクセス違反が発...
-
PICマイコンのコピー(クローン...
-
VBAでユーザーフォームが自動的...
-
「Outlookが他のプログラムによ...
-
Excelに埋め込んだVBAのプログ...
-
C言語でのaccess violationに...
-
C言語でプロセスをWAITさせる方...
-
COBOLの連絡領域について
-
グラフをC#のASP.net MVCで表示...
-
C *での三角形描画
-
LINUX用CプログラムのWindows移...
-
excelVBAからC#へsendmessage
-
Javaで2の0乗から-8乗まで表示...
-
大学一年でVBAのプログラミング...
-
Visual C++で走行時に動かなく...
-
画像を読み込むのと取り込むの...
-
VB.NETで別々に作ったプログラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
VBAにてメール作成した際、一部...
-
Notepad++の関数リスト表示でC...
-
自動クエリとはどういうもので...
-
読み込み中にアクセス違反が発...
-
PICマイコンのコピー(クローン...
-
XnViewにwebpを「いつも開く」...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
UWSCで指定のフォルダを開きたい。
-
パックマンプログラム
-
このプログラミング誰か教えて...
-
モジュール、アプリケーション...
-
Vba UserFormを前面に出す方法...
-
特定のwebサイトのタイトルや記...
-
ドロップダウンリストの文字を...
-
画像を読み込むのと取り込むの...
おすすめ情報