パラメータと引数
情報はパラメーターとして関数に渡すことができます。パラメーターは、関数内の変数として機能します。
パラメーターは、関数名の後の括弧内に指定します。必要な数のパラメーターを追加できます。パラメーターをコンマで区切るだけです。
構文
returnType functionName ( parameter1 , parameter2 , parameter3 ) {
// 実行するコード
}
次の関数文字列は、名前を持つ文字列をパラメータとして受け取ります。関数が呼び出されるとき、名前を渡します。この名前は関数内で「こんにちは」と各人の名前を出力するために使用されます。
例
void myFunction(char name[]) {
printf("Hello %s\n", name);
}
int main() {
myFunction("Liam");
myFunction("Jenny");
myFunction("Anja");
return 0;
}
// Hello Liam
// Hello Jenny
// Hello Anja
自分で試してみる»
パラメータが関数に渡されるとき、それは引数と呼ばれます。つまり、上記の例では、name はパラメータであり、Liam、Jenny、Anja は引数です。
複数のパラメータ
関数内に、必要な数のパラメーターを追加できます。
例
void myFunction(char name[], int age) {
printf("Hello %s. You are %d years old.\n", name, age);
}
int main() {
myFunction("Liam", 3);
myFunction("Jenny", 14);
myFunction("Anja", 30);
return 0;
}
// Hello Liam. You are 3 years old.
// Hello Jenny. You are 14 years old.
// Hello Anja. You are 30 years old.
自分で試してみる»
複数のパラメーターを使用する場合、関数呼び出しにはパラメーターと同じ数の引数が必要であり、引数は同じ順序で渡される必要があることに注意してください。
配列を関数パラメーターとして渡す
配列を関数に渡すこともできます。
例
void myFunction(int myNumbers[5]) {
for (int i = 0; i < 5; i++) {
printf("%d\n", myNumbers[i]);
}
}
int main() {
int myNumbers[5] = {10, 20, 30, 40, 50};
myFunction(myNumbers);
return 0;
}
自分で試してみる»
例の説明:
関数 (myFunction
) は、そのパラメーターとして配列を取ります (int myNumbers[5]
)、および配列要素をループします。for
ループ。関数が内部で呼び出されたときmain()
、私たちはmyNumbers
配列要素を出力する配列。ノート関数を呼び出すときは、引数として渡すときに配列の名前のみを使用する必要がありますmyFunction(myNumbers)
.ただし、配列の完全な宣言は関数パラメーターで必要です (int myNumbers[5]
)。
戻り値
前の例で使用されているvoid
キーワードは、関数が値を返さないことを示します。関数が値を返すようにする場合は、データ型 (int
またfloat
など) の代わりにvoid
を使用します。関数内でreturn
キーワードを使用します。
例
int myFunction(int x) {
return 5 + x;
}
int main() {
printf("Result is: %d", myFunction(3));
return 0;
}
// Outputs 8 (5 + 3)
自分で試してみる»
この例では、2 つのパラメータの合計を返します。
例
int myFunction(int x, int y) {
return x + y;
}
int main() {
printf("Result is: %d", myFunction(5, 3));
return 0;
}
// Outputs 8 (5 + 3)
自分で試してみる»
結果を変数に格納することもできます。
例
int myFunction(int x, int y) {
return x + y;
}
int main() {
int result = myFunction(5, 3);
printf("Result is = %d", result);
return 0;
}
// Outputs 8 (5 + 3)
自分で試してみる»