Function Parameters

0

Parameter und Argumente

Informationen können als Parameter an Funktionen übergeben werden. Parameter fungieren innerhalb der Funktion als Variablen.

Parameter werden nach dem Funktionsnamen in Klammern angegeben. Sie können beliebig viele Parameter hinzufügen, trennen Sie sie einfach durch ein Komma:

Syntax

returnType functionName(parameter1, parameter2, parameter3) {
  // code to be executed
}

Im folgenden Beispiel verwendet die Funktion eine Zeichenfolge mit dem Namen als Parameter. Wenn die Funktion aufgerufen wird, übergeben wir einen Namen, der innerhalb der Funktion verwendet wird, um „Hallo“ und den Namen jeder Person auszudrucken:

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

Wenn ein Parameter an die Funktion übergeben wird, nennt man ihn Argument. Im obigen Beispiel ist also Name ein Parameter, während Liam, Jenny und Anja Argumente sind.

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.

Wenn wir das Beispiel „Summe der Zahlen berechnen“ von der vorherigen Seite betrachten, können wir durch die Verwendung von Funktionsparametern ein nachhaltigeres Programm erstellen:

Beispiel

void calculateSum(int x, int y) {
  int sum = x + y;
  printf("The sum of %d + %d is: %d\n", x, y, sum);
}

int main() {
  calculateSum(5, 3);
  calculateSum(8, 2);
  calculateSum(15, 15);
  return 0;
}

Hinweise zu den Parametern

Beachten Sie, dass beim Arbeiten mit mehreren Parametern der Funktionsaufruf genauso viele Argumente haben muss wie Parameter vorhanden sind und die Argumente in der gleichen Reihenfolge übergeben werden müssen.

Übergeben von 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;
}

Beispiel erklärt

Die Funktion (myFunction) verwendet als Parameter ein Array (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 die Array-Elemente ausgibt.

Beachten Sie, dass Sie beim Aufruf der Funktion nur den Namen des Arrays verwenden müssen, wenn Sie es als Argument myFunction(myNumbers) übergeben. Die vollständige Deklaration des Arrays ist jedoch im Funktionsparameter (int myNumbers[5]) erforderlich.

Rückgabewerte

Das Schlüsselwort void, das in den vorherigen Beispielen verwendet wurde, gibt an, dass die Funktion keinen Wert zurückgeben soll. Wenn Sie möchten, dass die Funktion einen Wert zurückgibt, können Sie anstelle von void einen Datentyp (wie int oder float usw.) verwenden und das Schlüsselwort return innerhalb der Funktion verwenden:

Beispiel

int myFunction(int x) {
  return 5 + x;
}

int main() {
  printf("Result is: %d", myFunction(3));
  return 0;
}

// Outputs 8 (5 + 3)

Dieses Beispiel gibt die Summe einer Funktion mit zwei Parametern zurück:

Beispiel

int myFunction(int x) {
  return 5 + x;
}

int main() {
  printf("Result is: %d", myFunction(3));
  return 0;
}

// Outputs 8 (5 + 3)

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("Result is = %d", result);
  return 0;
}
// Outputs 8 (5 + 3)

Wenn wir das Beispiel „Summe der Zahlen berechnen“ noch einmal betrachten, können wir stattdessen return verwenden und die Ergebnisse in verschiedenen Variablen speichern. Dadurch wird das Programm noch flexibler und leichter steuerbar:

Beispiel

int calculateSum(int x, int y) {
  return x + y;
}

int main() {
  int result1 = calculateSum(5, 3);
  int result2 = calculateSum(8, 2);
  int result3 = calculateSum(15, 15);

  printf("Result1 is: %d\n", result1);
  printf("Result2 is: %d\n", result2);
  printf("Result3 is: %d\n", result3);

  return 0;
}

Tipp: Wenn Sie viele „Ergebnisvariablen“ haben, ist es besser, die Ergebnisse in einem Array zu speichern:

Beispiel

int calculateSum(int x, int y) {
  return x + y;
}

int main() {
  // Create an array
  int resultArr[6];

  // Call the function with different arguments and store the results in the array
  resultArr[0] = calculateSum(5, 3);
  resultArr[1] = calculateSum(8, 2);
  resultArr[2] = calculateSum(15, 15);
  resultArr[3] = calculateSum(9, 1);
  resultArr[4] = calculateSum(7, 7);
  resultArr[5] = calculateSum(1, 1);

  for (int i = 0; i < 6; i++) {
    printf("Result%d is = %d\n", i + 1, resultArr[i]);
  }

  return 0;
}

Beispiel aus dem echten Leben

Um ein praktisches Beispiel für die Verwendung von Funktionen zu demonstrieren, erstellen wir ein Programm, das einen Wert von Fahrenheit in Celsius umrechnet:

Beispiel

// Function to convert Fahrenheit to Celsius
float toCelsius(float fahrenheit) {
  return (5.0 / 9.0) * (fahrenheit - 32.0);
}

int main() {
  // Set a fahrenheit value
  float f_value = 98.8;

  // Call the function with the fahrenheit value
  float result = toCelsius(f_value);

  // Print the fahrenheit value
  printf("Fahrenheit: %.2f\n", f_value);

  // Print the result
  printf("Convert Fahrenheit to Celsius: %.2f\n", result);

  return 0;
}
Nach oben scrollen