Es simplemente "viejo estilo", K&R C definición de función (ver Kernighan & Ritchie's book, comúnmente conocida como simplemente Kernighan & Ritchie.)
El código que hacen referencia puede haber sido escrito a finales de los años ochenta, o principios de los noventa con la portabilidad (es decir, la compatibilidad con compiladores más antiguos, posiblemente en plataformas más "exóticas") en mente.
Incluso después de la publicación de la norma 1989, C, durante muchos años K & RC todavía era considerado el "mínimo común denominador" a la que los programadores de C restringen a sí mismos cuando se desea la máxima portabilidad, ya que muchos compiladores anteriores estaban todavía en uso, y porque cuidadosamente escrito K & RC código puede ser legal estándar C también.
Algunas personas creen que pueden que K definición de función & de estilo R, siendo apoyado por los compiladores, son más legibles, que de hecho no es necesariamente cierto; Comparar:
some_function(param1,param2,param3)
char *param1; /* param1 comment */
int param2; /* param2 comment */
short param3; /* param3 comment */
{
}
con
/* notice also that return type is explicitly specified now */
int
some_function(
char *param1, /* param1 comment */
int param2, /* param2 comment */
short param3 /* param3 comment */
)
{
}
K & definiciones de funciones de tipo I han sido obsoleta desde 1989; ver sección 6.9.5 "Definiciones de funciones" en el estándar C90.