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
-
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.