関数 | Programming Place Plus 用語集

トップページ用語集

名称

解説

何らかの処理を行うために必要なソースコードをひとまとめにしたものです。

(数学用語としての関数もありますが、ここではプログラミング用語として説明します)

名称については、プログラミング言語の種類によって違いがあります。たとえば、関数内の処理が行われたあと、結果(戻り値)を返さないものを、サブルーチンと呼び、関数と区別を付けることがあります。しかし、いずれの場合でも関数と呼ぶ言語もありますし、いずれもサブルーチンと呼ぶ言語もあります。

関数は、ほかのコードから呼び出し(コール)を行うことで使用できます。呼び出しを行うと、プログラム実行位置(プログラムカウンタ)がその関数の内部のコードへ移動し、関数内のコードの実行が終わると、呼び出しを行った位置へ戻ってきます(エラーが発生した場合や、プログラムの実行を止める目的をもった関数のようなまれなケースでは、戻ってきません)。

関数を呼び出す際に、引数(ひきすう)と呼ばれる値を引き渡すことができます。たとえば、ある文字列を [ ] で囲って出力するという処理を行う関数の定義と、その呼び出しを、次のように記述します(文法はプログラミング言語によって異なるので、これは仮の表現です)。

// 関数の定義
void putsWithBrackets(string s)
{
    puts( "[" + s + "]" );
}

// 関数の呼び出し
putsWithBrackets("xyz");

この場合、関数 putsWithBrackets には s という名前の文字列型の引数(言語によっては仮引数と呼ぶ)があります。これに合わせるように、呼び出し側からは文字列を1つ、引数(言語によっては実引数と呼ぶ)として指定します。引き渡された “xyz” という文字列を、関数内では s という名前で使用できます。

引数のや名前、個数については、関数を定義する側が、プログラミング言語の制約の範囲内で自由に決められます。

引き渡す引数の値を取り換えられるため、1つの関数を様々な箇所で再利用できます。


また、関数が処理を行ったあと、その結果を呼び出し側へ伝える方法として、戻り値があります。こちらもプログラミング言語によって異なりますが、たとえば次のように記述します。

// 関数の定義
int square(int value)
{
    return value * value;
}

// 関数の呼び出し
int answer = square(10);

square関数は、引数 value の値を2乗した結果を、戻り値によって呼び出し側へ伝えています。戻り値を呼び出し側へ伝えることは、「戻り値を返す」とか、立場を反転させて「戻り値を受け取る」と表現します。


このように、関数はプログラマーが作成できるほか、標準ライブラリや言語仕様として提供されていることもあります。

C言語の場合

C言語では、つねに関数と呼びます。

関数はプログラマーが自分で定義することができます(C言語編第9章第10章を参照)。

また、標準ライブラリ関数と呼ばれる多くの関数が、あらかじめ用意されています(C言語編 標準ライブラリのリファレンス)。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る