関数に渡された引数は
ローカルです。
スコープは関数ブロックです。
仮引数は関数内で宣言されたローカル変数と、外部変数とは異なる名前を付ける必要があります。
いくつかの値は、関数ブロックの仮引数に割り当てる事が出来ます。
const修飾子で宣言された仮引数の場合、その仮引数は関数内で変更する事は出来ません。
仮引数は定数で
初期化する事が出来ます。
この場合、初期値はデフォルト値と見なされます。
初期化された引数の次の引数も初期化する必要があります。
このような関数を呼び出すとき、デフォルト値のある引数は省略する事が出来ます。
引数が省略された場合、デフォルト値が使用されます。
シンプルな型の引数は値が渡されます。
すなわち呼び出された関数内でシンプルな型の引数の値を変更しても、呼び出し元で関数に渡した実引数には影響しません。
配列と
構造体の場合は、常に
参照渡しになります。
配列や構造体の内容を変更禁止にする場合は、仮引数を
const修飾子で宣言する必要があります。
シンプルな型の引数を渡す時に、
参照渡しにする事も出来ます。
この場合、
参照渡しされた仮引数の変数を変更した場合、呼び出し元の関数の実引数に影響します。
仮引数が
参照渡しである事を示す為には、データ型の後ろに&修飾子を書きます。
参照渡しの仮引数はデフォルト値で初期化する事は出来ません。
関数の仮引数は最大64個まで宣言出来ます。
サンプルソースは
基本/関数/引数の値渡し参照。