Pasar matrices a una función en C

En este tutorial, aprenderá a pasar matrices (matrices unidimensionales y multidimensionales) a una función en la programación en C con la ayuda de ejemplos.

En la programación en C, puede pasar una matriz completa a funciones. Antes de que aprendamos eso, veamos cómo puede pasar elementos individuales de una matriz a funciones.

Pasando elementos de matriz individuales

Pasar elementos de matriz a una función es similar a pasar variables a una función.

Ejemplo 1: pasar una matriz

 #include void display(int age1, int age2) ( printf("%d", age1); printf("%d", age2); ) int main() ( int ageArray() = (2, 8, 4, 12); // Passing second and third elements to display() display(ageArray(1), ageArray(2)); return 0; ) 

Salida

 8 4 

Ejemplo 2: pasar matrices a funciones

 // Program to calculate the sum of array elements by passing to a function #include float calculateSum(float age()); int main() ( float result, age() = (23.4, 55, 22.6, 3, 40.5, 18); // age array is passed to calculateSum() result = calculateSum(age); printf("Result = %.2f", result); return 0; ) float calculateSum(float age()) ( float sum = 0.0; for (int i = 0; i < 6; ++i) ( sum += age(i); ) return sum; )

Salida

 Resultado = 162,50

Para pasar una matriz completa a una función, solo se pasa como argumento el nombre de la matriz.

 result = calculateSum(age);

Sin embargo, observe el uso de ()en la definición de función.

 float calculateSum(float age()) (… )

Esto informa al compilador que está pasando una matriz unidimensional a la función.

Pasar matrices multidimensionales a una función

Para pasar matrices multidimensionales a una función, solo se pasa el nombre de la matriz a la función (similar a las matrices unidimensionales).

Ejemplo 3: pasar matrices bidimensionales

 #include void displayNumbers(int num(2)(2)); int main() ( int num(2)(2); printf("Enter 4 numbers:"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) scanf("%d", &num(i)(j)); // passing multi-dimensional array to a function displayNumbers(num); return 0; ) void displayNumbers(int num(2)(2)) ( printf("Displaying:"); for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 2; ++j) ( printf("%d", num(i)(j)); ) ) )

Salida

 Introduzca 4 números: 2 3 4 5 Visualización: 2 3 4 5 

Nota: En la programación en C, puede pasar matrices a funciones, sin embargo, no puede devolver matrices de funciones.

Articulos interesantes...