das Zeichen ->
-
hallo ich bin noch newbie in "C" , beim versuchen eines C-codes zu verstehen
bin ich auf die flogende Anweisung zugestossen:
while ( table->cmd )........
was ist denn gemeint mit -> ?
danke
-
Hallo
(*objekt).tuetwas()
wird zu
objekt->tuetwas()
chrische
-
chrische5 schrieb:
(*objekt).tuetwas()
wird zu
objekt->tuetwas()
Mmh, ich wage mich jetzt mal weit aus dem Fenster (ich tapse gerade mal ein paar Tage mit C herum) und denke mir: Es könnte aber auch ein Zeiger auf ein Strukturelement sein, oder etwa nicht?
z.B. wie in meinem niegelnagelneuen C-Code:
if (st->g) free(st->g); st->g = (BYTE *)calloc(NCLR, sizeof(BYTE));
Da stellt sich mir ja gleich die nächste Frage:
Was hat es eigentlich mit '->' und '.' auf sich?
Ich sehe mal sowas wei "strukt->member = value" aber auch so etwas wie "strukt.member = value" - sehr verwirrend das!
-
meditiere darueber nochmal:
struct Foo { int bar; }; struct Foo* foo;
foo->bar
ist gleichbedeutend mit
(*foo).bar
denk darueber nochmal nach.
dein letzter post hat etwas voreilig gewirkt.fuer foo->bar muss foo eindeutig ein zeiger sein, weil (*foo) geht nur wenn foo ein zeiger ist.
somit waere auch der unterschied foo->bar und foo.bar geklaert.