int f(void) et int f() ne sont pas identiques.

int f(void) déclare une fonction qui ne prend aucun arguments.

int f() déclare une fonction sans spécifier le nombre et le type des arguments.