Gast
#2275382
Hallo! Hab ne ganz kurze Frage: counter = 0; array[counter++] = 0x0a; In welchem Index steht nun 0x0a? Mit anderen Worten: Wird counter vor der Zuweisung inkrementiert, oder erst danach? Vielen Dank!
|
Anzeige
|
Arrayindex inkrementieren
Gast
#2275382
Hallo! Hab ne ganz kurze Frage: counter = 0; array[counter++] = 0x0a; In welchem Index steht nun 0x0a? Mit anderen Worten: Wird counter vor der Zuweisung inkrementiert, oder erst danach? Vielen Dank! danach: array[counter++] = 0x0a; davor: array[++counter] = 0x0a; steht aber auch in jedem C Buch...
Gast
#2275386
Deine Stichworte: Preincrement und Postincrement
Gast
#2275393
Super - ich danke euch! Habe natürlich versucht, bei Google zu suchen, aber mangels Stichworte (die ich bis dato nicht kannte) ist es recht schwer. Aber: Steffen schrieb: > Wird counter vor > der Zuweisung inkrementiert, oder erst danach? Das ist undefiniert. Bei diesem Code
könnte hinterher in array[0] eine 0 oder eine 1 stehen. Als Arrayindex wird aber auf jeden Fall der Wert von counter von vor der Inkrementierung genommen.
Gast
#2275813
Preincrement und Postincrement findest Du auch im folgendenem Video: http://et-tutorials.de/1226/variablenzuweisung-teil-2/
Gast
#2276366
Stefan Ernst schrieb: > Aber: > > Steffen schrieb: >> Wird counter vor >> der Zuweisung inkrementiert, oder erst danach? > > Das ist undefiniert. Bei diesem Code > array[counter++] = counter; > könnte hinterher in array[0] eine 0 oder eine 1 stehen. Oder eine 42, oder 4711. Oder beides. Oder das Universum, wie wir es kennen, hört auf zu existieren. Alles davon wäre nach ISO-C erlaubt. > Als Arrayindex wird aber auf jeden Fall der Wert von counter von vor der > Inkrementierung genommen. Im obigen Code ist auch das nicht garantiert. Es ist undefiniertes Verhalten, und damit sind an dieser Stelle alle Garantien hinfällig. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|