Frage zu Parameter einer Funktion



  • Hallo Leute,

    hab gerade vor mir folgende Frage liegen:

    Welche Regeln sind zu beachten, wenn bei einem Funktionsaufruf die formalen Parameter durch die aktuellen Paramerter (Argumente) "ersetzt" werden?

    Diese Frage stammt aus einer alten Prüfung und irgendwie ist mir die Frage unsympatisch...

    Ich könnte ja einfach sagen mann muss darauf achten dass man auch alles in der richten reihenfolge übergibt...

    Oder dass die typen der Argumente mit denen der Parameter übereinstimmen müssen...

    Ich weiß nicht so recht was man auf sowas antworten soll, dass man sich auch ja sicher sein kann nicht falsch liegen zu können...

    Was meint ihr?



  • Übereinstimmen müssen die Typen nicht unbedingt. Es ist nur wichtig, daß die Typen ineinander umgewandelt werden können.



  • "aktueller Parameter" was soll das sein?



  • asdghi123nbfaj schrieb:

    "aktueller Parameter" was soll das sein?

    Ich hab Informatik studiert und auch noch nie was von formalen und aktuellen Paramertern gehört.
    http://www.gailer-net.de/tutorials/java/Notes/chap34/ch34_3.html
    @vandread: Schreib auch noch das was da unten im Link steht.



  • CStoll schrieb:

    Übereinstimmen müssen die Typen nicht unbedingt. Es ist nur wichtig, daß die Typen ineinander umgewandelt werden können.

    Das ist aber stark sprachabhängig. Da er in "Rund um die Programmierung" gefragt hat, denke ich mal, dass die Frage nicht nur auf C oder C++ abzielt.



  • @asdghi123nbfaj
    wie "haha" schon gezeigt hat, mit aktuellen Parameter sind die Übergabewerte also Argumente gemeint, z.B. wenn ich den int-Wert 42 als Argument übergebe ist das der aktuelle Parameter

    @CStoll & Tachyon
    im Prinzip lag ich doch dann gar nicht mal so falsch oder? Ob man jetzt so spitzfindig ist und das mit den ineinander umwandeln noch beachten will okay..

    Oder gibt es Etwas nocht wichtigeres was man bei sowas beachten soll?



  • vandread schrieb:

    Oder gibt es Etwas nocht wichtigeres was man bei sowas beachten soll?

    Ja: Von welcher Programmiersprache redest du? Das ist total sprachabhängig.



  • es geht um reines C, sry...



  • vandread schrieb:

    @asdghi123nbfaj
    wie "haha" schon gezeigt hat, mit aktuellen Parameter sind die Übergabewerte also Argumente gemeint, z.B. wenn ich den int-Wert 42 als Argument übergebe ist das der aktuelle Parameter

    Wikipedia klärt's: http://de.wikipedia.org/wiki/Parameter_(Informatik)#Formale_Parameter
    *FACEPALM* 🙄



  • Tachyon schrieb:

    CStoll schrieb:

    Übereinstimmen müssen die Typen nicht unbedingt. Es ist nur wichtig, daß die Typen ineinander umgewandelt werden können.

    Das ist aber stark sprachabhängig. Da er in "Rund um die Programmierung" gefragt hat, denke ich mal, dass die Frage nicht nur auf C oder C++ abzielt.

    OK, sagen wir es so: Die Typen müssen kompatibel sein - wobei es von der Sprache abhängt, was als kompatibel gilt.

    @vandread: Mit der Aussage meinte ich vor allem, daß du auch eine Ganzzahl an eine Funktion übergeben kannst, die einen double-Parameter erwartet (oder in C++ ein String-Literal (const char*) an eine Funktion, die einen const std::string& will).


Log in to reply