
C/C++で"Hello, World!":ソースコードを読む
沖林正紀
2008-01-25 08:00:00
ソースコードの確認
これから説明するソースコードをリスト1に示す。これは前回作成し、実行したものだ。ここにはいったい何が記されているのだろうか。
リスト1 前回作成したソースコード
#includeint main() { printf("VC++2008でプログラムを実行\n"); return 0; }
main関数
main関数とは、int main() { ... }の部分をいう。処理の単位はすべてこのような関数として表される。関数をソースコードに記述することを、一般に「関数を定義する」という。プログラムの実行時に最初に実行されるのが、このmain関数である。C++の場合はクラスという単位もあるのだが、これはいずれ後述することになるだろう。
ここでいう関数とは、(...)内に記述された引数(ひきすう)というパラメータをいくつか受け取って、{ ... }内に記述された処理を行い、最後にreturnによって戻り値(もどりち)を返すものをいう。しかし、処理上特に必要がなければ、必ずしも引数や戻り値は存在しなくてもよい。
たとえばリスト1では、main関数の戻り値が0となっているが、引数は存在しない。もちろん、引数は存在するが戻り値は存在しないという関数を記述することもできる。
returnによる戻り値
ではなぜmain関数の戻り値が0なのかというと、これはプログラム全体が正常に終了したことを表すしるしになっているからだ。ただし処理系によっては、main関数の戻り値が存在しなくても良いこともある。
関数の戻り値は、関数名の前に記述することになっている。リスト1の場合は戻り値が必ず0であるため、整数を表すintを記述しておく。整数でないデータを関数の戻り値とする場合は別の記述をするのだが、ここではまだその説明はしない。
ひとまずはreturnの後に続く0と、関数名の前に記述するintとが対になっているということを知っておいていただきたい。
folllow builer on
twitter
- 新着記事
- 特集
- ブログ
- 企画特集
-
連載!プロが語るストレージ戦略
-
話題のセキュリティ事故体験ゲーム
-
保育業界のDX(後編)
-
保育業界のDX(前編)
-
連載!プロが語るストレージ戦略
-
さあ、クラウドで解決しよう。
-
データの散在と非常率運用がネック
-
講演の見どころを紹介
-
明日からではもう遅い?!
-
ビッグデータ最前線!
-
請求書がきてからでは遅い
-
IDaaSって何?
-
セキュリティの今を知る
-
デジタルを当たり前と言えるか?
-
利便性とセキュリティの両立
-
連載!プロが語るストレージ戦略
-
企業DXのキモはクラウドにあり
-
いまさら聞けない「PPAP」
-
ゼロトラストに不可欠なID管理
-
特集:IT最適化への道
-
いまあるデータで身近な業務をDX
-
いままさに社会にとっての転換点
-
内部不正や不注意をどう防ぐ?
-
モバイルデバイスもターゲットに!
-
次の一手はこれだ!
引数は、存在しないのではなく、「使っていない」ですよね?main は、int argc と char** argv、環境によってはもう一つ char** env が引数として存在していますよ。
> 関数の戻り値は、関数名の前に記述することになっている。
言語構文を説明する前に関数の説明をするから、こういう変な説明になるんですよね。
「関数の戻り値」ではなく、「関数の戻り値の型」だというのは重箱の隅として、「関数の宣言をしなければならない」という説明が必要ですよね。