読み方 : メインかんすう

main関数【main function】mainメソッド/main method

概要

main関数とは、C言語やC++言語などのプログラミング言語で、プログラムの実行が始まる起点となる特別な関数。オペレーティングシステム(OS)がプログラムを起動する際、内部のmain関数を最初に呼び出す。
main関数のイメージ画像

プログラムは通常、複数の関数や処理のまとまりで構成される。その中でどこから実行を始めるかをOSが判断するために、「ここが入口だ」と決められた場所が必要になる。main関数はその約束事として多くの言語で採用されており、開発者はmain関数の中に最初に行わせたい処理を記述する。

CおよびC++では、main関数は int main(void) や int main(int argc, char *argv[]) という形式で定義される。後者の形式では、コマンドラインからプログラムを起動する際に渡された引数を受け取ることができる。argcは引数の個数、argvは引数の文字列配列を表す。関数の戻り値は整数型で、0を返すと正常終了、0以外を返すと異常終了としてOSに通知される慣習がある。

Javaではmain関数に相当するものとして「mainメソッド」が用いられ、通常は public static void main(String[] args) として定義される。Cとは異なりクラスの中に記述する必要があり、戻り値はvoid型である。Pythonには言語仕様としてのmain関数は存在しないが、if __name__ == "__main__": という記法を用いることで、スクリプトとして直接実行された場合にのみ動く処理を分けて書く慣習が広く定着している。

組み込みシステムや一部のフレームワークでは、main関数がライブラリ側にあらかじめ用意されており、開発者が直接記述しない構成をとる場合もある。この場合、フレームワークが内部でmain関数を管理し、開発者は別途定められた初期化処理やイベントハンドラを実装する形になる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。