Ich bin gerade auf einen C-Code von jemandem gestoßen, bei dem ich mich frage, warum er kompiliert wird. Es gibt zwei Punkte, die ich nicht verstehe.
-
En Funktionsprototyp hat im Vergleich zur eigentlichen Funktionsdefinition keine Parameter.
-
Der Parameter in der Datei Funktionsdefinition hat keinen Typ.
#include <stdio.h>
int func();
int func(param)
{
return param;
}
int main()
{
int bla = func(10);
printf("%d", bla);
}
Warum funktioniert das? Ich habe es in mehreren Compilern getestet, und es funktioniert gut.