wofür steht bei c scanf() das "&" (programmieren)
wofür steht bei einem scanf(), z.b. : scanf("%d", &i) das &zeichen? bitte dringend um Hilfe
2 Antworten
Variablen werden irgendwo im Speicher deines Computers abgelegt. Die Stelle wo die Variable abgelegt wird, wird als ihre „Adresse“ bezeichnet. Jetzt wird es aber kompliziert.
Mit der Zeile
int *zeiger;
deklariert man eine Adressvariable namens „zeiger“ – dieser Wert ist immer!! eine Speicheradresse! Üblicherweise sollte man mit dieser Variablen nicht unbedingt rechnen. Natürlich kann man 10 oder 20 addieren oder subtrahieren und erhält eine entsprechend höhere bzw. niedrigere Adresse. Nur sollte man dann wissen, was dort im Speicher steht. Mehr ist jedoch sinnvoller Weise nicht möglich …
Mit der Zeile
scanf ("%d",&i);
sagt man, lies an der Stelle i den Wert aus und gib ihn mir. D.h. & ist ein Adressoperator, der auf die Adresse von i zeigt bzw. diese Adresse „referenziert“. An der Adresse von i (&) steht also der Integerwert, der gesucht ist …
Mit dem "&"-Operator werden in C Adressen von Variablen angesprochen. Bei deinem scanf wird also ein ganzzahliger Wert (integer: %d) in die Adresse der Variable i gespeichert. Der Compiler muss wissen, wo er die eingegebene Zahl abspeichern muss - daher die Adresse.
Hoffe, es war verständlich ausgedrückt.