Iterating Backwards in C
Explains why common C backward-loop idioms fail: an unsigned index with i >= 0 never terminates, and a signed ssize_t brings conversion and portability problems. Recommends looping with a post-decrement condition, using unsigned wrap-around, which keeps the index in bounds.