joa, das hab ich so schon verstanden, ich hab mich nur gefragt, warum der Compiler so vorgeht. Wäre es nicht besser, wenn Compiler und Linker so arbeiten würden, dass es reicht jeden Prototypen nur einmal am Anfang zu deklarieren? Somit würde der Code dann aus weniger Zeilen bestehen und der das Programm wäre schneller.
Das das so wohl nicht stimmt kann ich mir schon fast denken, ich kann mir nur nicht erklären warum. Außer damit, dass die Funktion dann global deklariert wäre und das anscheinend ganz böse ist. So böse, dass dies mehr ins Gewicht fällt, als ein ein wenig schnelleres Programm. Wenn das allerdings der einzige Gund sein sollte muss ich wohl einfach ein bisschen weiter lesen, um nachvollziehen zu können, warum globale Variablen oder auch Funktionen so schlimm sind.
Eine andere Vermutung wäre dann, dass für eine deklarierte Funktion Speicher reserviert wird. Nur würde ich dann nicht verstehen, woher der Compiler weiss, wieviel Speicher denn nun für eine nur deklarierte und nicht defnierte Funktion eingeplant werden muss.
Irgendwie habe ich das Gefühl, mir mangelt es an der Fähigkeit mich angemessen auszudrücken :roll: