[新規] [編集]
main関数(C++)
☆
C++においてmain関数(めいんかんすう)とは,プログラムを実行したときに処理されるコードを書く部分である.実行ファイルを実行すると,基本的にmain関数の先頭から順に処理が行われる.つまり専門的に言えば,main関数はエントリーポイントである.このこと以外は通常の関数?と変わりは無い.最低限の書式
☆
main関数の最も単純なコードは以下のようになる.
int main()
{
return 0;
}
これだけあれば実行できる正式なC++のコードとして成立する.勿論,このコードは何の処理も行わずに終了する.解説
とりあえず初心者は細かい部分を気にせず,このように書く,とだけ思っておけばよい.基本的に全ての文字は半角で打つこと,単語間のスペースやセミコロン(「;」)を打ち忘れないようにすることに注意する.
返り値
☆☆
int main()
{
return 0;
}
main関数の返り値?はint型である.従って,return文?に与える値は整数値であるが,main関数の返り値?は基本的に 0 でよい.この返り値?はシステムに渡されてプログラムの終了コードとして解釈される.その際, 0 は正常終了を表す.異常終了の場合は 1 を返す.この辺りも,初心者は気にしなくてよい.引数
☆☆
main関数には引数?を持たせることができる.main関数の引数?はコマンドライン引数,環境変数を格納する.コマンドライン引数
コマンドライン引数を扱うには,以下のようなコードになる. →for文?,配列?参照
int main(int argc, char *argv[])
{
for(int i = 0; i < argc; i ++)
{
// argv[i] は i 番目のコマンドライン引数
}
}
for文?によって全てのコマンドライン引数を順に処理している(ここでは何もしていないが).- main関数の引数?の1つ目(「argc」)はint型で,コマンドライン引数の数を表す.
ただし,main関数に渡されるコマンドライン引数には実行ファイルの名前が含まれるので,その数は 実際のコマンドライン引数の数+1 であり常に 1 以上である.
- main関数の引数?の2つ目(「argv」)はchar型のポインタ?の配列?で,コマンドライン引数を文字列として格納している.この配列の長さは「argc」の値である.先頭の要素(argv[0])は実行ファイルの名前になっていて,その次の要素(argv[1])以降にコマンドライン引数が順に格納されている.なお,「char *argv[]」は「char **argv」と書いても同じである.
環境変数
環境変数を扱うには,以下のようなコードになる. →for文?,配列?参照
int main(int argc, char *argv[], char *envp[])
{
for(int i = 0; envp[i] != NULL; i ++)
{
// envp[i] は i 番目の環境変数
}
}
for文?によって全ての環境変数を順に処理している(ここでは何もしていないが).- main関数の引数?の1つ目(「argc」)と2つ目(「argv」)は上記のコマンドライン引数に関するものである.環境変数を扱う際には,コマンドライン引数を扱わなくてもこれら2つの引数?も書かなくてはいけない.
- main関数の引数?の3つ目(「envp」)はchar型のポインタ?の配列?で,環境変数を文字列として格納している.この配列の長さはコマンドライン引数のようにmain関数の引数?として与えられない.最後の環境変数を格納した要素の次の要素は「NULL」になっているので,このことを用いて上記のコードのように全ての環境変数を扱うことができる.なお,「char *envp[]」は「char **envp」と書いても同じである.