何らかの処理を行うために必要なソースコードをひとまとめにしたものです。(数学用語としての関数もありますが、ここではプログラミング用語として説明します)名称については、プログラミング言語の種類によって違いがあります。関数内の処理が行われたあと、結果(戻り値)を返さないものを、サブルーチンと呼び、関数と区別を付けることがあります。いずれの場合でも関数と呼ぶ言語もありますし、いずれもサブルーチンと呼ぶ言語もあります。関数は、ほかのコードから呼び出し(コール)を行うことで使用できます。呼び出しを行うと、プログラムの実行位置(プログラムカウンタ)がその関数の内部のコードへ移動し、関数内のコードの実行が終わると、呼び出しを行った位置へ戻ってきます(エラーが発生した場合や、プログラムの実行を止める目的をもった関数のようなまれなケースでは、戻ってきません)。関数を呼び出す際に、引数(ひきすう)と呼ばれる値を引き渡すことができます。囲って出力するという処理を行う関数の定義と、その呼び出しを、次のように記述します(文法はプログラミング言語によって異なるので、これは仮の表現です)。いう名前の文字列型の引数(言語によっては仮引数と呼ぶ)があります。これに合わせるように、呼び出し側からは文字列を1つ、引数(言語によっては実引数と呼ぶ)として指定します。いう名前で使用できます。引数の型や名前、個数については、関数を定義する側が、プログラミング言語の制約の範囲内で自由に決められます。引き渡す引数の値を取り換えられるため、1つの関数を様々な箇所で再利用できます。関数が処理を行ったあと、その結果を呼び出し側へ伝える方法として、戻り値があります。こちらもプログラミング言語によって異なりますが、たとえば次のように記述します。値を2乗した結果を、戻り値によって呼び出し側へ伝えています。戻り値を呼び出し側へ伝えることは、「戻り値を返す」とか、立場を反転させて「戻り値を受け取る」と表現します。このように、関数はプログラマーが作成できるほか、標準ライブラリや言語仕様として提供されていることもあります。C言語の場合C言語では、つねに関数と呼びます。関数はプログラマーが自分で定義することができます(C言語編第9章、第10章を参照)。標準ライブラリのリファレンス)。