В объявлении функции перечислять параметры не обязательно. Но если этого не делать, то можно столкнуться с проблемами. Если бы вы записали объявление для fip в C++, то у вас получилась бы функция, которая не принимает аргументов и возвращает int*. В языке C эта же функция имеет тот же возвращаемый тип, но принимает любое количество параметров любого типа. В C никогда не следует объявлять функции с пустым списком параметров. Во-первых, это устаревшая возможность языка, которая в будущем может исчезнуть. Во-вторых, ваш код может быть перенесен в C++, поэтому явно перечисляйте типы параметров и используйте void, если функция ничего не принимает.