C
::carnage::
Hallo,
bin gerade dabei C zu lernen und dachte die Pointer verstanden zu haben, bis ich folgendes ausprobiert habe:
Das Ergebnis der ersten printf() Anweisung lautet: hallo
Die zweite printf() Anweisung gibt aus: 104
Ich dachte bisher, dass nur mit dem * Operator der referenzierte Wert (das "hallo") ausgelesen werden kann. Also so:
In diesem Beispiel funktioniert das aber nicht. Hier liefert der Pointer ohne * Operator den hallo - Wert. Und woher kommt die Zahl 104? Nach meinem Verständnis wird nur mit %u und der Pointervariable ohne * Operator die Speicheradresse zurückgeliefert. Also so:
ich denke nicht, dass 104 die Speicheradresse ist, richtig?
Ich hoffe mein Problem ist einigermaßen klar...
Kann mir das jmd. verständlich machen?
Gruß
bin gerade dabei C zu lernen und dachte die Pointer verstanden zu haben, bis ich folgendes ausprobiert habe:
Code:
#include <stdio.h>
int main()
{
char *text="hallo";
printf("\ntext: %s", text);
printf("\n*text: %u", *text);
system("PAUSE");
return 0;
}
Das Ergebnis der ersten printf() Anweisung lautet: hallo
Die zweite printf() Anweisung gibt aus: 104
Ich dachte bisher, dass nur mit dem * Operator der referenzierte Wert (das "hallo") ausgelesen werden kann. Also so:
Code:
printf("\n*text: %s", *text);
In diesem Beispiel funktioniert das aber nicht. Hier liefert der Pointer ohne * Operator den hallo - Wert. Und woher kommt die Zahl 104? Nach meinem Verständnis wird nur mit %u und der Pointervariable ohne * Operator die Speicheradresse zurückgeliefert. Also so:
Code:
printf("\n*text: %u", text);
ich denke nicht, dass 104 die Speicheradresse ist, richtig?
Ich hoffe mein Problem ist einigermaßen klar...

Kann mir das jmd. verständlich machen?
Gruß