Prototyp-Frage



  • Ich streite mich mit meinem Lehrer über folgende Angelegenheit, es geht um Funktionsprototypen. Bekanntlich gibt es ja zwei Möglichkeiten für eine Deklaration:

    /* Variante 1 */ double divide(double dividend, double divisor);
    /* Variante 2 */ double divide(double, double);
    

    Ich habe mich bei der Prüfung für Variante 1 entschieden, da man beim Betrachten des Headers absolute Klarheit darüber hat, welcher Wert an welcher Stelle übergeben muss.
    Mein Lehrer hat dies aber für absolut falsch befunden. Der Grund sei; bei Variante 1 würden zwei Variablen deklariert (dividend und divisor), welche im weiteren Verlauf des Programms nicht verwendet würden. Ich verschwende also den Speicher von zwei doubles. Es ist nur Variante 2 korrekt.

    Wer hat recht?



  • der prof redet schwachsinn.

    laut ansi c sind beide varianten legal und es wird auch kein storage angelegt. wenn du willst, kann ich dir die passage aus dem 'the c programming language, 2nd edition' abschreiben.



  • Prof ist er übrigens nicht, mit seinem (un)Wissen kann er nämlich nicht einmal eine Hand voll Informatik-Azubis beeindrucken. Verdammt, ich will meine beiden Prüfungspunkte zurück, die hat mir der Sack abgezwackt! Schade das die Zeugnisse schon gemacht sind, aber es geht auch ein wenig ums Prinzip! 🕶

    Danke, das Abschreiben kannst du dir sparen. Ich glaube einem so erfahrenem User wie dir!



  • paedubucher schrieb:

    Mein Lehrer hat dies aber für absolut falsch befunden. Der Grund sei; bei Variante 1 würden zwei Variablen deklariert (dividend und divisor), welche im weiteren Verlauf des Programms nicht verwendet würden. Ich verschwende also den Speicher von zwei doubles.

    Blödsinn! Eine Deklaration "verbraucht" NIEMALS Speicher, dafür ist erst die Definition verantwortlich, bzw bei Funktionsparametern der Aufruf. Und ob du die Bezeichner angibst oder nicht spielt keine Rolle, beim Aufruf musst du die Parameter auf jeden Fall angeben.

    paedubucher schrieb:

    Verdammt, ich will meine beiden Prüfungspunkte zurück, die hat mir der Sack abgezwackt! Schade das die Zeugnisse schon gemacht sind, aber es geht auch ein wenig ums Prinzip!

    Sollte das deine Note nachträglich positiv beeinflussen, würde ich trotzdem Einspruch einlegen. 'Nem Kumpel von mir wurde wegen sowas das Zeugnis nachträglich noch geändert.


Anmelden zum Antworten