Cita: Que significa esta forma de definir la funcion?¿ Por un parte pone q retorna un entero (int) y por otra parte q no retorna nada (void), no lo entiendo.
Ok, primero hay que aprender la estructura de una funcion:
retorno funcion(argumento);
retorno es lo que devuelve la funcion, esto puede ser un int, char, float, una estructura, un puntero, etc. Argumento es la informacion que le das a la funcion. Si le pones un void, es que no va a tener ningun argumento.
Ahora:
int *funcion(...);
Significa que la funcion va a regresar un
puntero de tipo int, osea, una direccion, no un valor.
Te recomiendo que sigas estudiando las funciones ANTES que te metas muy a fondo con los punteros ya que este temas de los punteros es complicado y es la cumbre de C mientras que las funciones son lo basico.
Si estas leyendo un libro o tutorial, te recomendaria que lo complementaras con el excelente tutorial de c y c++ con clase:
www.conclase.com.
Cualquier duda aqui estamos.
Saludos