So iteriert man in C wirklich rückwärts

Iterating Backwards in C

Viele Entwickler scheitern an der Rückwärtsiteration in C: Mit size_t führt i >= 0 zu einer Endlosschleife, und ein signed Index bringt Probleme mit Konvertierungen und Portabilität. Die saubere Lösung ist die Schleife for(size_t i = count; i--; ), die den Postdekrement-Operator nutzt. Der Autor erklärt, warum das funktioniert und warum unsigned Wrap-Around in C wohldefiniert ist – besonders relevant im LLM-Zeitalter, in dem falscher Code oft kopiert wird.

i >= 0 ist tautologisch wahr (moderne Compiler warnen davor). Schlimmer noch: Wenn count 0 ist, wird i sofort zu SIZE_MAX.

Mehr von diesem Tag

2026-10-30