001
07.07.2004, 21:15 Uhr
Pablo
Supertux (Operator)
|
Stell dir vor z ist ein char* mit z={'H', 'e', 'l', 'l', 'o', '\n'}
char x=*(z++) heißt, dass der Zeiger auf 'H' um eins inkrementiert wird, nachdem der Befehl ausgeführt wird. * gibt das aktuelle Zeichen auf das z zeigt, nämlich H. Danach zeigt z auf 'e'.
--------------------- char x=*(++z) heißt, dass de Zeiger auf 'H' um eins inkrementiert wird, bevor der Befehl ausgeführt wird. D.h. *(++z) ist 'e', weil bevor * das aktuelle Zeichen ausgibt, zeigt z nicht mehr auf 'H' sondern auf 'e'.
--------------------- x=*z++; ist äquivalent zu x=*(z++); -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 07.07.2004 um 21:20 Uhr von Pablo editiert. |