Требуются ли объявления / прототипы функций в C99?
В настоящее время я определяю свои функции в файле заголовка и # include-ING в основном файле. Это нормально в C99?
Почему большинство программистов объявляют / прототипируют функцию перед main () и определяют ее после main ()? Разве не проще определить их перед основным и избежать всех объявлений / прототипов?
Содержимое файла header.h:
int foo(int foo)
{
// code
return 1;
}
Содержимое основного файла:
#include <stdio.h>
#include "header.h"
int main(void)
{
foo(1);
return 0;
}