Kleine Syntax - Frage



  • Hallo zusammen,

    ich weiß leider nicht was folgendes bedeutet:

    scanf("%d", &n)
    

    ich glaube %d ist ein Platzhalter für eine Zahl? Wie nennt man das dann genau (Fachbegriff?)
    Was bedeutet &n?

    Viele Grüße


  • Mod

    Das ist der Formatstring. %d ist ein Platzhalter für einen dezimalen Integer. scanf solltest du in C++ aber nicht benutzen, das ist C. Die Ein-/Ausgabe in C++ wurde komplett überarbeitet. Die alten C Funktionen sind nicht fit, mit den C++ Sprachmitteln umzugehen. Integer gehen noch, weil es die in C auch gibt, aber wenn du mal mit eigenen Datentypen arbeitest reicht scanf nicht mehr aus.

    edit: Und & ist der Adressoperator. Der liefert einen Pointer auf das Objekt auf das er sich bezieht. Das ist ebenfalls C Stil, das ist dort die Art und Weise wie man call-by-reference betreibt (das heißt ein Objekt an eine Funktion übergeben und diese verändert das Objekt dann). In C++ ebenfalls nicht mehr nötig, da es dort ja Referenzen gibt (ironischerweise ebenfalls durch & markiert, wenn auch an anderer Stelle), außerdem arbeitet man in C++ tendenziell eher mit Rückgabewerten als mit call-by-reference.



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten