MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

C Parámetros de función


Parámetros y argumentos

La información se puede pasar a funciones como parámetro. Los parámetros actúan como variables dentro de la función.

Los parámetros se especifican después del nombre de la función, dentro del paréntesis. Puedes agregar tantos parámetros como quieras, simplemente sepáralos con una coma:

Sintaxis

returnType functionName(parameter1, parameter2, parameter3) {
  // código a ejecutar
}

La siguiente función que toma una cadena de caracteres con nombre como parámetro. Cuando se llama a la función, pasamos un nombre, que se usa dentro de la función para imprimir "Hello" y el nombre de cada persona.

Ejemplo

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
Inténtalo tú mismo »

Cuando se pasa un parámetro a la función, se denomina argumento. Entonces, según el ejemplo anterior: nombre es un parámetro, mientras que Liam, Jenny y Anja son argumentos.


Múltiples parámetros

Dentro de la función, puedes agregar tantos parámetros como quieras:

Ejemplo

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.
Inténtalo tú mismo »

Tenga en cuenta que cuando trabaja con varios parámetros, la llamada a la función debe tener la misma cantidad de argumentos que parámetros, y los argumentos deben pasarse en el mismo orden.


Pasar matrices como parámetros de función

También puedes pasar arrays a una función:

Ejemplo

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;
}
Inténtalo tú mismo »

Ejemplo explicado

La función (myFunction) toma una matriz como parámetro (int myNumbers[5]), y recorre los elementos de la matriz con el bucle for.

Cuando se llama a la función dentro de main(), pasamos la matriz myNumbers, que genera los elementos de la matriz.

Tenga en cuenta que cuando llama a la función, solo necesita usar el nombre de la matriz cuando la pasa como argumento myFunction(myNumbers). Sin embargo, se necesita la declaración completa de la matriz en el parámetro de función (int myNumbers[5]).


Valores de retorno

La palabra clave void, utilizada en los ejemplos anteriores, indica que la función no debe devolver un valor. Si desea que la función devuelva un valor, puede utilizar un tipo de datos (como int o float, etc.) en lugar de void, y use la palabra clave return dentro de la función:

Ejemplo

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

int main() {
  printf("El resultado es: %d", myFunction(3));
  return 0;
}

// Salidas 8 (5 + 3)
Inténtalo tú mismo »

Este ejemplo devuelve la suma de una función con dos parámetros:

Ejemplo

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

int main() {
  printf("El resultado es: %d", myFunction(5, 3));
  return 0;
}

// Salidas 8 (5 + 3)
Inténtalo tú mismo »

También puedes almacenar el resultado en una variable:

Ejemplo

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

int main() {
  int result = myFunction(5, 3);
  printf("El resultado es = %d", result);
  return 0;
}
// Salidas 8 (5 + 3)
Inténtalo tú mismo »

Ejemplo de la vida real

Para demostrar un ejemplo práctico del uso de funciones, creemos un programa que convierta un valor de Fahrenheit a Celsius:

Ejemplo

// Función para convertir Fahrenheit a Celsius
float toCelsius(float fahrenheit) {
  return (5.0 / 9.0) * (fahrenheit - 32.0);
}

int main() {
  // Establecer un valor Fahrenheit
  float f_value = 98.8;

  // Llame a la función con el valor Fahrenheit
  float result = toCelsius(f_value);

  // Imprime el valor fahrenheit
  printf("Fahrenheit: %.2f\n", f_value);

  // imprimir el resultado
  printf("Convertir grados Fahrenheit a Celsius: %.2f\n", result);

  return 0;
}
Inténtalo tú mismo »