Previous: 関数の書式
Up: 関数
Next: 標準関数と標準ライブラリ
Previous Page: 関数の書式
Next Page: 標準関数と標準ライブラリ
前述したように関数には情報を与えなければならない。この情報を引数と言う。
例 printf("%d\n", a); /* 引数は、"%d\n" と a */ printf("%d %f %c \n", i, r, c); /* 引数は、"%d %f %c \n" と i と r と c */ scanf("%c", &c); /* 引数は、"%c" と &c */
(この例のように printf や scanf は、少し特殊な例で、引数の数 が変化しても良いようになっている。このような引数の数が変化しても良いような 関数を自分で作成するのは、いささか面倒な手続きが必要である。通常は、引数の 数は決まっていると考えて良い。)
まったく引数の無い関数があっても構わないが、その場合でも丸括弧で囲まなければ ならない。
例 hikisunashi(); /* 引数がない例 */
また、scanf で学んだように、関数には返り値がある。この返り値を用いて、 その関数で行った仕事の結果を知ることが出来る。勿論、返り値のない関数もあるし、 返り値を知る必要の無い場合は、利用しなくても良い。
引数も返り値も共に、型がある(例えば整数型を引数に、返り値は実数型とか)点に 注意しよう。
関数の返り値の例 int c; c = printf("abcd\n"); printf("number of character is %d\n", c);
今まで printf 関数の返り値があることや、その使い方については学んで こなかったが、実は、printf 関数には返り値があり、出力した文字の数 が整数で返るようになっている(改行 \n は数えられない。) 従って、この例を実行すると、abcd と出力改行後、number of character is 4 と出力される。
勿論、今まで学んだように、返り値を利用しなくても良い。
返り値を利用しない例 printf("output only\n");