• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文: 現在、私はC言語を学んでいます。)

C言語学習中の初期の問題:「Hello World」プログラムと関数の違い、return 0の意味とは?

このQ&Aのポイント
  • C言語学習中の初期の問題として、「Hello World」という有名なプログラムについて質問があります。
  • 具体的には、main関数の定義方法として「int main(void)」「int main()」「main()」「main(void)」の4つの違いについて知りたいです。
  • また、return 0;文の意味についても説明してほしいとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • doran357
  • ベストアンサー率24% (23/93)
回答No.2

昔は void main main でOKって風習があったけど 最近は int main にして return(0) として正常終了の値を返すのが一般的な書き方です。 もちろんエラーがあって終了する場合は仕様の段階でreturnで返すエラーコードを決めてそれを返す処理をします。 C言語の規格の規定としてint mainと決められています。 main(viod)/main()ですが起動時に引数を受け取らないならこれでいいでしょう。 ただし起動時に起動オプションを想定している場合は (int argc, char *argv[]) とする必要があります。

その他の回答 (2)

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.3

int main()とした場合はmain関数の最後にreturn()はあった方がよいでしょう。ただし「Hello World」程度のプログラムならあってもなくても構わない。 もう少し高度な内容になってくるとmain()の戻り値が必要となり重要な意味を持たせることが可能です。 WindowsのコマンドプロンプトやMS-DOSではシステム環境変数である「ERRLEVEL」から直前に実行したプログラムの戻り値を取得することが可能で、処理結果次第でバッチ処理で分岐させることが可能です。 最も簡単な例としては、起動時にファイル名を指定したときに指定されたファイルが存在する場合と存在しない場合。 ファイルが存在する場合はバッチで複数のプログラムを順次呼び出しするが、ファイルが存在しない場合はメッセージを表示してバッチ処理を終了させるようなときに「int main()」は意味を持ちます。

noname#108260
noname#108260
回答No.1

関数の型の宣言です。 手前のintは整数型を返す、と言う意味でvoidは引数は型無であるという意味です。 mainの場合は特に宣言しなくてもエラーになりません。 確か定義済みだった気がします。 returnは関数を終了して返り値を返します。 プログラム全体が終わるので目に見えた効果は確かにありません。 詳しくは関数の勉強で習うところです。 問題は発生しませんが、礼儀として全部書くことを進めます。

関連するQ&A