いや、自分を呼び出すっちゅーのは分かるんだが、
なーんか今ひとつ実感がなくて。
そういえば書いたことないから分からんのか、と思い、
試しに書いてみた。
# ブログに表示する都合上、スペースが全角スペースに
# なってるけど悪しからず。
#include <stdio.h>
int sum(int number);
int main(void)
{
printf("%d\n", sum(10));
return(0);
}
int sum(int number)
{
int rslt;
if (number > 1) {
rslt = sum(number-1) + number;
} else {
rslt = number;
}
return(rslt);
}
単に1からの和を求めるだけの関数sum。
要するに
sum(n) = sum(n-1) + n
sum(1) = 1
なわけだから、それを実行してるだけ。
んー。何か分かったような気がするぞ。
ソートのプログラムとかで使ってみよう。
個人的には
pManのハンネは
Man
*pMan
と変数Manのポインタ型変数pManを定義しているようにしか思えない。
C言語に絡んで、こんなコメントを残しておきました。
前にも見たな。その意見は。
char Man[LENGTH];
char *pMan;
とかっちゅうことか。
違うぞそれは。もともとはP.manと書いていたし。
つーか、この名前はパソコンに触ったことがない頃に付いたものだから、そもそもそんな由来にはならん。
でも由来は内緒。