C言語 main関数の使い方

この記事のポイント

main関数は、C言語プログラムの実行を開始するためのエントリーポイントとなる特別な関数です。どんなC言語プログラムでも、必ずmain関数から実行が始まります。

この記事では、プログラミング初心者の方でも理解できるよう、main関数について基礎から詳しく解説していきます。以下の3つのポイントを中心にお伝えします。

  • C言語プログラムの実行開始地点となるmain関数の基本機能
  • main関数の書き方と基本的な構文パターン
  • 実際のプログラミングで使える具体的なコード例

目次

default文とは?

main関数は、プログラムが実行される際に最初に呼び出される特別な関数です。コンピューターがプログラムを実行する時、まずこのmain関数を探し出し、そこに書かれたコードから順番に実行していきます。

main関数は必ず整数型(int)の戻り値を持ちます。この戻り値は、プログラムが正常に終了したかどうかをオペレーティングシステムに伝える役割があります。通常、0を返すとプログラムが正常に終了したことを意味し、0以外の値を返すとエラーが発生したことを表します。

また、main関数はプログラム内に必ず1つだけ存在する必要があります。もしmain関数がなければプログラムは実行できませんし、複数あっても正常に動作しません。このようにmain関数は、C言語プログラムにとって欠かせない基盤となる機能なのです。

【関連】
C言語をもっと詳しく学ぶならpaizaラーニング

基本構文

main関数には、いくつかの基本的な書き方があります。最もシンプルな形式から、コマンドライン引数を受け取る形式まで、用途に応じて使い分けることができます。

最も基本的なmain関数の構文は以下のようになります。引数を取らない場合は、voidキーワードを使用して明示的に引数がないことを示します。

#include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; }

出力結果

Hello, World!

コマンドライン引数を受け取る場合の構文では、argcとargvという2つのパラメータを使用します。argcは引数の個数を、argvは引数の値を格納した配列を表します。

#include <stdio.h> int main(int argc, char *argv[]) { printf("引数の数: %d\n", argc); printf("プログラム名: %s\n", argv[0]); return 0; }

出力結果

引数の数: 1
プログラム名: ./Main

実用例

ここからは、main関数を使った具体的なプログラム例を紹介します。初心者の方でも理解しやすいよう、日常的によく使われる処理パターンを中心に、実際に動作するコードと共に解説していきます。

各例では、main関数がどのような役割を果たしているか、そして他の関数との連携方法についても学んでいただけます。これらの例を通じて、main関数がプログラム全体の制御の中心となっていることを実感していただけるでしょう。

シンプルな挨拶

最も基本的なmain関数の使い方として、画面にメッセージを表示する例です。printf関数を使って文字列を出力し、正常終了を示す0を返します。

#include <stdio.h> int main(void) { printf("こんにちは、C言語の世界へようこそ!\n"); printf("今日も一日頑張りましょう。\n"); return 0; }

出力結果

こんにちは、C言語の世界へようこそ!
今日も一日頑張りましょう。

変数を使った計算

main関数内で変数を宣言し、計算処理を行う例です。整数型の変数を2つ使って、基本的な四則演算の結果を表示しています。

#include <stdio.h> #include <stdio.h> int main(void) { int cat_age = 3; int dog_age = 5; int total_age = cat_age + dog_age; printf("ペットたちの合計年齢: %d歳\n", total_age); return 0; }

出力結果

ペットたちの合計年齢: 8歳

条件分岐を使った判定

if文を使った条件分岐の例です。入力された数値に応じて異なるメッセージを表示し、プログラムの流れを制御しています。

#include <stdio.h> int main(void) { int tiger_weight = 200; if (tiger_weight > 150) { printf("大型のトラですね!\n"); } else { printf("小型のトラですね。\n"); } return 0; }

出力結果

大型のトラですね!

ループ処理による繰り返し

for文を使った繰り返し処理の例です。指定した回数だけ処理を繰り返し、カウンターの値を使って動的にメッセージを生成しています。

#include <stdio.h> int main(void) { int i; for (i = 1; i <= 5; i++) { printf("%d匹目のパンダが竹を食べています。\n", i); } return 0; }

出力結果

1匹目のパンダが竹を食べています。
2匹目のパンダが竹を食べています。
3匹目のパンダが竹を食べています。
4匹目のパンダが竹を食べています。
5匹目のパンダが竹を食べています。

配列を使ったデータ処理

配列を使って複数のデータを管理し、それらを順番に処理する例です。配列の各要素にアクセスして、データの合計を計算しています。

#include <stdio.h> int main(void) { int elephant_weights[3] = {4000, 3500, 4200}; int total_weight = elephant_weights[0] + elephant_weights[1] + elephant_weights[2]; printf("3頭のゾウの合計体重: %dkg\n\n", total_weight); return 0; }

出力結果

3頭のゾウの合計体重: 11700kg

関数を呼び出す

main関数から他の関数を呼び出す例です。処理を機能ごとに分割することで、プログラムの構造をより明確にしています。

#include <stdio.h> void monkey_greeting(void) { printf("ウキキー!サルです!\n"); } int main(void) { printf("動物園へようこそ!\n"); monkey_greeting(); printf("楽しんでくださいね。\n"); return 0; }

出力結果

動物園へようこそ!
ウキキー!サルです!
楽しんでくださいね。

まとめ

main関数は、すべてのプログラムの出発点となる基盤的な機能です。この記事では、main関数の基本的な概念から実際の使用例まで、幅広い内容について解説してきました。

main関数の活躍する場面

  • システムプログラミングやアプリケーション開発でのプログラム実行制御
  • 組み込みシステムやマイコン制御での中心的な処理管理
  • 他のプログラミング言語の基礎となる概念の学習

重要なポイント

  • プログラムは必ずmain関数から実行が開始されること
  • 戻り値として0を返すことで正常終了を示すこと
  • 引数の有無によって異なる構文形式を使い分けること

main関数をマスターすることは、プログラミングの基礎を固める上で欠かせないステップです。今回紹介した例を参考に、実際にコードを書いて動作を確認してみてください。main関数の理解が深まれば、より複雑なプログラムの開発にも自信を持って取り組むことができるでしょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. C言語のリファレンス記事一覧
  4. C言語 main関数の使い方