C Funktionsparameter
Parameter und Argumente
Informationen können als Parameter an Funktionen übergeben werden. Parameter fungieren als Variablen innerhalb der Funktion.
Parameter werden nach dem Funktionsnamen in Klammern angegeben. Sie können beliebig viele Parameter hinzufügen, trennen Sie diese einfach durch ein Komma:
Syntax
returnType functionName(parameter1, parameter2, parameter3) {
// Code, der ausgeführt werden soll
}
Die folgende Funktion, die eine Zeichenfolge mit Name als Parameter akzeptiert. Wenn die Funktion aufgerufen wird, übergeben wir einen Namen, der innerhalb der Funktion verwendet wird, um „Hallo“ und den Namen jeder Person auszugeben.
Beispiel
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
Try it Yourself »
Wenn ein Parameter an die Funktion übergeben wird, wird er als Argument bezeichnet. Aus dem Beispiel oben: name
ist ein Parameter, während Liam
Jenny
und Anja
sind Argumente.
Mehrere Parameter
Innerhalb der Funktion können Sie beliebig viele Parameter hinzufügen:
Beispiel
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.
Try it Yourself »
Beachten Sie, dass beim Arbeiten mit mehreren Parametern der Funktionsaufruf die gleiche Anzahl an Argumenten wie Parameter haben muss und die Argumente in derselben Reihenfolge übergeben werden müssen.
Übergeben Sie Arrays als Funktionsparameter
Sie können einer Funktion auch Arrays übergeben:
Beispiel
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;
}
Try it Yourself »
Beispiel erklärt
Die Funktion (myFunction
) verwendet ein Array als Parameter (int myNumbers[5]
), und durchläuft die Array-Elemente mit der for
-Schleife.
Wenn die Funktion innerhalb von main()
aufgerufen wird, übergeben wir das Array myNumbers
, das ausgibt die Array-Elemente.
Beachten Sie, dass Sie beim Aufrufen der Funktion nur den Namen des Arrays verwenden müssen, wenn Sie es als Argument übergeben myFunction(myNumbers)
. Allerdings ist die vollständige Deklaration des Arrays im Funktionsparameter erforderlich (int myNumbers[5]
).
Rückgabewerte
Das in den vorherigen Beispielen verwendete Schlüsselwort void
gibt an, dass die Funktion keinen Wert zurückgeben soll. Wenn Sie möchten, dass die Funktion einen Wert zurückgibt, können Sie einen Datentyp verwenden (z. B. int
oder float
usw.) anstelle von void
und verwenden Sie das Schlüsselwort return
innerhalb der Funktion:
Beispiel
int myFunction(int x) {
return 5 + x;
}
int main() {
printf("Ergebnis ist: %d", myFunction(3));
return 0;
}
// Ausgänge 8 (5 + 3)
Try it Yourself »
Dieses Beispiel gibt die Summe einer Funktion mit zwei Parametern zurück:
Beispiel
int myFunction(int x, int y) {
return x + y;
}
int main() {
printf("Ergebnis ist: %d", myFunction(5, 3));
return 0;
}
// Ausgänge 8 (5 + 3)
Try it Yourself »
Sie können das Ergebnis auch in einer Variablen speichern:
Beispiel
int myFunction(int x, int y) {
return x + y;
}
int main() {
int result = myFunction(5, 3);
printf("Ergebnis ist = %d", result);
return 0;
}
// Ausgänge 8 (5 + 3)
Try it Yourself »
Beispiel aus dem wirklichen Leben
Um ein praktisches Beispiel für die Verwendung von Funktionen zu demonstrieren, erstellen wir ein Programm, das einen Wert von Fahrenheit in Celsius umwandelt:
Beispiel
// Funktion zur Umrechnung von Fahrenheit in Celsius
float toCelsius(float fahrenheit) {
return (5.0 / 9.0) * (fahrenheit - 32.0);
}
int main() {
// Legen Sie einen Fahrenheit-Wert fest
float f_value = 98.8;
// Rufen Sie die Funktion mit dem Fahrenheit-Wert auf
float result = toCelsius(f_value);
// Drucken Sie den Fahrenheit-Wert aus
printf("Fahrenheit: %.2f\n", f_value);
// Drucken Sie das Ergebnis aus
printf("Konvertieren Sie Fahrenheit in Celsius: %.2f\n", result);
return 0;
}
Try it Yourself »