ログイン
kid's world

関数

関数

第2回(2002年5月号)で,関数についてほんの少しだけ触れたのを覚えているだろうか。関数は「いくつかの文を1つにまとめたかたまり」という説明だ。たとえば,何度も利用する複雑な処理を関数にしてしまえば,何度も複雑な文を書かなくて済むので便利である。C言語にはあらかじめ,いくつかの有用な関数が用意されている。そのいい例が,printf関数だ。また,実はプログラム全体がmain関数という1つの関数でもある。

ここで,関数についてもう少しだけ説明をしよう(より詳しい説明は11月号で解説する予定だ)。

引数

関数は呼び出されるものであるが,そのときに,同時に関数に対して何らかの値を渡すことができる。呼び出すときに渡す値は1つでも,複数でもいい。

関数に何らかの値を渡して呼び出したいときは,関数名のあとのカッコの中にその値を指定する。その値のことを引数と呼んでいる。ただし,どのような型の引数を受け取るかは関数によって異なるので,「何を指定してもよいというわけではない」ことに注意しよう。たとえばfooという関数が,int型の引数を1つだけ受け取ることができる関数ならば,

foo(10);

とすれば,int型の10をfoo関数に与えて呼び出すことができる。この形はもうすでによく見ているのでわかるだろう。printf関数を呼び出すときに,文字や変数(の値)をカッコの中に書いているが,これらがprintf関数に渡している引数となるわけだ。

戻り値

関数は何らかの処理をしたあと,値を1つだけ返すことができる。それを戻り値と呼んでいる。どのような型で返されるかは関数によって異なり,また,値を返さない関数もある。問題はその戻り値をどのように受け取るかだが,これは非常に簡単だ。たとえば先ほどのfoo関数がint型の値を戻り値として返すとしたら,int型の変数iを宣言しておいて,

i=foo(10);

と書けば,戻り値は変数iに代入される。もしfoo関数が,単純に引数として与えられた値を2倍する関数ならば,iには20が代入されることになる。

関数のまとめ

関数は,呼び出されると内部で何らかの処理をする。複雑な処理は関数にしてしまうとよい。

関数を呼び出すときに,引数として値を渡すことができる。また,関数は処理を終えると,戻り値として値を返すことができる。その値を受け取るには,代入演算子を使って書けば,変数iに戻り値が代入される。このときの引数と戻り値の流れをイメージにしたのがFig. 1である。

Fig. 1: foo関数の引数と戻り値の流れ

/c/input-fig1.png


一文字だけ受け取る」へ進む

広告


©Toshio Koide 1996-2007.

目次

リンクについて

リンクは御自由にどうぞ。

メール

mail.gif

広告