Cómo utilizar matrices y funciones juntos en la programación c
En la programación C, creando una matriz para su uso dentro de una función funciona igual que la creación de una matriz para su uso dentro de la función main (): La matriz se declara, ha inicializado, y se utilizan sus elementos. También puede pasar matrices desde y funciones, donde se puede acceder o manipular elementos de la matriz.
Cómo pasar una matriz a una función
El envío de un arsenal fuera a una función es bastante sencillo. La función debe ser un prototipo con la matriz especificada como uno de los argumentos. Se ve así:
void cualquier (int nums []) -
Esta declaración de prototipos de la función lo que sea (). Esa función acepta los nums array de enteros como su argumento. Toda la gama - cada elemento - se pasa a la función, donde está disponible para diversión y la fiesta.
Cuando se llama a una función con una matriz como un argumento, debe omitir los corchetes:
cualesquiera que sean (valores) -
En la línea anterior, la función de lo que sea () se llama con los valores de la matriz como argumento. Si mantiene los corchetes, el compilador asume que usted significó sólo para pasar un solo elemento y que usted se olvidó de especificar cuál. Así que esto es bueno:
cualesquiera que sean (valores [6]) -
Pero esto no es bueno:
cualesquiera que sean (valores []) -
El código que se muestra en el señor de funciones, Meet Mr. matriz cuenta con la función showarray () que se alimenta de una matriz como un argumento. Es una función nula, por lo que no devuelve ningún valor, pero puede manipular la matriz.
SR. FUNCIÓN, MEET MR. ARRAY
incluir TAMAÑO #define showarray 5void (int array []) - int main () {int n [] = {1, 2, 3, 5, 7} -puts ("Aquí está su matriz:") - showarray (n) - volver (0) -} void showarray (int array []) {int x-for (x = 0-x
La función showarray () se llama a la línea 12. Vea cómo se pasa la matriz n sin sus escuadras? Recuerde que el formato!
En la línea 16, la función showarray () se declara con la matriz se especifica mediante corchetes, al igual que el prototipo en Línea 5. Dentro de la función, se accede a la matriz como sería en la función main (), que se puede ver en la línea 21.
Ejercicio 1: Escriba el código fuente del Sr. Función, Meet Mr. matriz en su editor. Genere y ejecute el programa para asegurarse de que funciona.
Ejercicio 2: Añadir una segunda función, arrayinc (), para el código fuente del Ejercicio 1. Que sea una función void. La función toma un array como argumento. La función añade 1 a cada valor de la matriz. Haga que el principal () arrayinc llamada a la función () con matriz n como argumento. Luego llame al showarray () funcionan por segunda vez para mostrar los valores modificados en la matriz.
Cómo devolver una matriz de una función
Además de ser aprobada una matriz, una función en C puede devolver una matriz. El problema es que las matrices pueden ser devueltos únicamente como punteros. Pero eso no es lo peor:
La verdad escandaloso es que C no tiene arrays - que no son más que hábilmente disfrazadas punteros. Notación de matriz tiene su lugar, pero los punteros son donde está la acción.