Rufus Τ. Firefly schrieb:
> Doch, das tut es. Es muss nur zum Zeitpunkt des Aufrufs einer Funktion
> bekannt sein, daß es sie gibt - C-Programme werden "von oben nach unten"
> übersetzt.
Mir ist klar, dass dies in C so ist, aber ehrlich gesagt habe ich nie
verstanden warum.
Was spräche denn dagegen,
1.) einmal main() zu durchlaufen und festzustellen, welche Funktionen
aufgerufen werden
2.) nachzuprüfen, ob alle nach 1.) erforderlichen Funktionen auch
tatsächlich vorhanden sind?
Dass das hier funktioniert:
1 | void funktion()
|
2 | {
|
3 | // tu was
|
4 | }
|
5 |
|
6 | int main()
|
7 | {
|
8 | funktion();
|
9 | return 0;
|
10 | }
|
aber das hier nicht:
1 | int main()
|
2 | {
|
3 | funktion();
|
4 | return 0;
|
5 | }
|
6 |
|
7 | void funktion()
|
8 | {
|
9 | // tu was
|
10 | }
|
ist doch eigentlich Käse. ;)
Okay, vielleicht gibt es einen super wichtigen Grund, warum es nur genau
so und nicht anders sein darf. Dann sagt ihn mir bitte :)