RE:Pasar arreglo como parametro de funcion
En C "no" puedes pasar arrays (bueno, o arreglos como tú los llamas). Lo que se pasa es el puntero al primer elemento. Pero vamos, no te preocupes, no hace falta que lo entiendas. Para lo que tú quieres te es transparente. El problema que tendrás es que en la función no podrás conocer el tamaño del array, a si es que tendrás que pasarlo como parámetro. Resumiendo:
void miFuncionDeOrdenacion(int array[ ], int numElementos) {
// Aquí puedes acceder a array[elemento] como siempre. Date cuenta
// de que en la declaración de la función NO se especifica tamaño del
// array entre los corchetes.
// Deberías tener cuidado de no acceder a elementos más allá de
// numElementos
// Un ejemplo de acceso al array:
int cont;
for (cont = 0; cont < numElementos; cont++)
printf("%d ", array[cont]);
}
Y para llamar a la función:
main() {
int miArray[100];
[... Rellena el array con datos ...]
miFuncionDeOrdenacion(miArray, 100);
}
Suerte!