Frage zu %c (c-programmierung)?

... komplette Frage anzeigen

1 Antwort

Das ist ganz einfach zu erklären:

Variablen für Zahlenwerte sind echte Variablen, die einen Speicherbereich belegen, ihr Aufruf gibt den zahlenwert zurück, nicht den Zeiger auf den Speicherbereich.

Willst du also etwas in eine Variable einfügen per scanf-Befehl, so muss dem Befehl der Zeiger auf die Variable übergeben werden so dass er in den Speicherbereich den Wert ablegt. Beim printf-Befehl musst du keinen Zeiger nutzen, da dort nichts in die Variable gespeichert werden muss.

Ein string ist ein Speicherbereich, dessen Variable ist direkt ein Zeiger. Er zeigt auf einen Speicherbereich, der aus Zeichen besteht und einem Wert 0, der den String beendet. Daher muss man hier bei scanf keinen Zeiger angeben, man benötigt das &-Zichen nicht, bzw. das &-Zeichen würde auf den Speicherbereich verweisen, an dem der Zeiger gespeichert ist.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?