Ich versuche C zu verstehen, indem ich K & R durchlaufe. Ich habe Schwierigkeiten, diesen Code für zwei Funktionen im Buch zu verstehen:
%Vor%Diese beiden Funktionen führen einen Quicksort für ein bestimmtes Array aus. In der Hauptfunktion habe ich ein int-Array erstellt und qsort genannt. Es wurde gut zusammengestellt und lief gut. Meine Frage ist, warum ist der Prototyp für swap () in die Funktion qsort () gestellt und nicht vor main ()?
Der Prototyp sollte hinzugefügt werden, bevor die eigentliche Funktion zum ersten Mal verwendet wird.
In diesem Fall halte ich es nicht für eine allgemeine Praxis, einen Prototyp in qsort()
function zu haben, aber es erfüllt immer noch den Zweck. Der Prototyp für swap()
könnte auch vor main()
hinzugefügt werden, glaube nicht, dass es einen Unterschied machen wird.
Sie schreiben einen Funktionsprototyp, damit der Compiler weiß, dass die Funktion existiert und sie verwenden kann. swap()
wird innerhalb von qsort()
verwendet, daher muss es vor der Zeile angezeigt werden, in der es verwendet wird. In diesem Fall wird der swap()
-Prototyp innerhalb der qsort()
-Funktion deklariert, könnte aber auch vor der Funktion selbst deklariert werden. Oder Sie könnten swap()
vor qsort()
definieren und den Prototyp entfernen.