I-14-3. 関数の定義、標準関数の利用方法

関数とは何かを説明し、関数を活用したプログラム部品化の概念を示す。関数定義の方法と関数の利用方法、変数のスコープなど、関数の利用時に気をつけるべき点を列挙する。さらに代表的な標準関数を紹介し、標準で提供される関数で様々なことを実現できることを例示する。

【学習の要点】

* 関数とは、ある手続きをひとまとめにしたものである。

* 関数を活用するとプログラムを構造的に書くことができ、読みやすく、保守性の高いプログラムを作ることができる。

図I-14-3. 関数を使ったプログラム

【解説】

1) 関数とは何か

関数とは、ある手続きをひとまとめにしたものである。関数には引数と返り値というものがあり、関数実行時に関数に渡す値を引数、そして計算結果として出てきた値として呼び出し元に返す値を返り値と呼ぶ。頻繁に使う手順などを関数化することで、コードの削減と可読性を高めることができる。また、汎用性の高い関数を作り、一つのプログラムだけではなく複数のプログラムで活用することで、開発時間の短縮を図れる。こうした汎用性の高い関数を作り、活用していくことを、プログラム部品化と呼んでいる。

2) 関数の宣言

関数は、次のように宣言することで使うことができるようになる。

返り値の型 関数名(引数の型 引数の名前, ...){

関数で行いたい手続きの記述

return 返り値;

}

例) 引数の2乗を返す関数

float square(float a){

float s;

s = a * a;

return s;

}

3) 関数の利用

関数を利用する場合は、「関数名(引数)」のように記述する。

例)

r = square(1.1);

この場合は 1.1 が引数となり、返り値は 1.21 となるので、rには1.21が代入される。

4) 変数のスコープ

変数には、グローバル変数とローカル変数の二種類がある。グローバル変数はどこからでも利用でき、ローカル変数は使える場所が制限されている。ローカル変数が使える場所は、そのローカル変数が宣言された関数の中である。ある変数を参照できるプログラム中の範囲のことを、その変数のスコープという。

5) 標準関数

Cの規格として定められている、標準ライブラリというファイルに定義されている関数。利用するときにはプログラムの頭に #include <標準ライブラリ名> と書いて、ライブラリを読み込んで利用する。代表的なものは以下の通り。

* printf() 文字列などを出力する関数 (定義されているライブラリ:stdio.h)

* fgets() 文字列を読み込む関数 (定義されているライブラリ:stdio.h)

* strcpy() 文字列をコピーする関数 (定義されているライブラリ:string.h)

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。