C言語なら俺に聞け(入門編)Part 65
■ このスレッドは過去ログ倉庫に格納されています
0712デフォルトの名無しさん
2010/06/08(火) 03:13:08関数を定義するのは、一番外側でしか行えません。
mainなどの関数の中では関数を定義できません。一番外側ではないので。(もちろん、関数を使うだけならできます)
以下は、hello world と表示し、数字を1増やし、その数字も表示する。 これを3回繰り返すプログラムです。
#include <stdio.h>
int i=0;
void main() {
printf("hello world"); i = i+1; printf("%d", i);
printf("hello world"); i = i+1; printf("%d", i);
printf("hello world"); i = i+1; printf("%d", i);
}
この 「hello world と表示して、数字を1増やし、数字も表示する」という部分は、結局3回とも同じ手順ですよね?
だから、この部分を関数としてまとめてしまえば、目的がシンプルになって読みやすくなります。 main() を見て「なにかを3回するんだな」ということが簡単にわかります。
#include <stdio.h>
int i =0;
void many(void) {
printf("hello world"); i = i+1; printf("%d", i);
}
void main() {
many(); many(); many();
}
「many() が具体的に何を行うか?」は、とりあえず知らなくても、main()で「なにかを3回するんだな」と読めます。 こうすればいちいち処理の詳細を知らなくても簡単に読めます。
関数は、こうやって「プログラムを簡単に読めるようにするため」に使います。 簡単に読めるプログラムを書くのは、高速なプログラムを書くのと同じくらい高度で知的な作業です。
■ このスレッドは過去ログ倉庫に格納されています