言語では、関数を呼び出す前に、その関数を定義する必要がある。関数を定義するとき、関数が受け取る引数とその変数型、そして関数の戻り値の変数型も合わせて定義する必要がある。関数を呼び出して実行するには次のようにする。関数を呼び出している。関数の前に置く必要がある。前にプロトタイプ宣言を行う必要がある。上のサンプルコードは下のサンプルコードと同じである。関数を定義するときに、関数の中で使われる引数の変数型も合わせて定義する必要がある。小数を代入すると、その小数が整数に丸められて使われる。そのため、引数に複数の変数型が想定される場合は、同じ関数の名前で、異なる変数型の引数で定義する必要がある。テンプレートを使用すると便利である。値渡しの場合は、その値のコピーを関数に渡すため、関数の内部でその値を変更しても、関数を抜けた後にその影響が残らない。これに対して、ポインタ渡しの場合は、値のポインタ(メモリ上の住所)を関数に渡すため、関数の内部でそのメモリ上の値を変更すると、関数を抜けた後にはその影響が残ったままとなる。言語では、値渡しとポインタ渡しの他に参照渡しも存在する。参照渡しの場合、ポインタ渡しと同様に、関数内部で値を変更すると、関数を抜けた後にもその影響が残る。関数では、引数として配列を受け取ることができない。そのため、関数に配列を代入したい場合、配列のポインタを関数に渡す必要がある。配列の名前が、その配列のポインタとなることに注意すると、引数の定義は次のように行うことができる。0;}関数を定義するとき、引数の定義は次のようにしても同じくポインタ渡しとなる。sum;}入力した配列に対して何らかの変更を行なって、その変更結果を返すような関数を作る場合は、配列のポインタを引数として受け取り、何も返さない関数を作成すれば良い。倍している例を表している。関数の戻り値に配列を指定することができない。そのため、配列を返したい場合は、その配列のポインタを返すことになる。配列の宣言を行なっている。