C Pasar arrays a funciones
Si desea pasar un array unidimensional como argumento a una función, debe declarar los parámetros formales de la función de las siguientes tres maneras. Los resultados de estas tres declaraciones son los mismos, porque cada una le indica al compilador que recibirá un puntero a entero. Del mismo modo, también puede pasar un array multidimensional como parámetro formal.
Método 1
El parámetro formal es un puntero (podrá aprender sobre punteros en el próximo capítulo):
Método 2
El parámetro formal es un array de tamaño definido:
Método 3
El parámetro formal es un array de tamaño indefinido:
Ejemplo
Ahora, veamos la siguiente función que toma un array como parámetro y además pasa otro parámetro. Según el parámetro pasado, devuelve el promedio de los elementos del array:
Ahora, llamemos a la función anterior de la siguiente manera:
Ejemplo
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
平均值是: 214.400000
Puede ver que, en lo que respecta a la función, la longitud del array es irrelevante, porque C no realiza comprobación de límites en los parámetros formales.
Otras extensiones