プログラム言語のコンテキストでは、関数 という用語は、 出力を計算するために使用されるステートメントの 集合を意味します。この言葉は、数学における場合ほど厳密に使用されているわけではありません 。数学における関数 は、入力変数を出力変数に一意的に 関連付けている集合を意味します。Cまたは C++ のプログラムにおける関数の場合は、すべての入力に対して整合した出力が得られなかったり、 出力がまったくなかったり、副次効果が生じたりすることがあります。関数は、パラメーター・リストのパラメーターがある場合、これがオペランドになる、 ユーザー定義の操作と理解することができます。
関数は、ユーザーが作成した関数と、C 言語のインプリメンテーションで 提供されている関数の 2 つのカテゴリーに分類されます。後者はライブラリー関数 と 呼ばれます。ライブラリー関数はコンパイラーが備えている関数のライブラリーに属しているからです。
関数の結果は、 その関数の戻り値 と呼ばれます。戻り値のデータ型は、 戻りの型 と呼ばれます。関数の戻りの型が先行し、 関数のパラメーター・リストが後続している関数 ID を関数宣言 または 関数プロトタイプ と呼びます。関数本体 という用語は、関数が実行する処理を表すステートメントのことをいいます。関数の本体は、中括弧 で囲まれ、関数ブロック を構成します。関数の戻りの型の 後には、関数の名前、パラメーター・リストが続き、本体とともに関数定義 を 構成します。
関数名の後に関数呼び出し演算子 () が続くと、その関数が 評価されます。関数がパラメーターを受け取るように定義されている場合は、その関数に 送られる値が関数呼び出し演算子の括弧内にリストされます。 これらの値は、そのパラメーターに対する引き数 で、今説明した プロセスのことを、関数に引き数を渡す といいます。
C++ では、関数のパラメーター・リストは、その関数のシグニチャー
と呼ばれます。
関数の名前とシグニチャーにより、その関数が一意的に識別されます。この言葉自体が 表しているように、関数のシグニチャーは、多重定義された関数の異なるインスタンスを区別するために、コンパイラー によって使用されます。
関連参照