Please consider an array of Thing. It's a kind of stack.
It is pointed to by thingsBottom, and its empty end is pointed to by thingsTop.
EDIT: Every time I want push something onto the list, I do *thingsTop = newThing; thingsTop++;.
I'd like to iterate it from the end to the beginning using pointers, like so:
for (Thing* thing = thingsTop - 1; thing >= thingsBottom; thing--) {
doSomething(*thing);
}
Is this guaranteed to always work, regardless of the specific C implementation used?
Is it safe to say thing >= thingsBottom?