Inside an array, interpret a pointer just as you would use an index inside the array.
The *
means the value in the current position of the index.
So
pnStack = aStack; <-- int pnStack = 0;
pnStack++; <-- pnStack++;
bitfield = *pnStack <-- bitfield = aStack[pnStack];
bitfield = *--pnStack <-- bitfield = aStack[--pnStack]; (first decrement index, then retrieve the value)