I was just reading some code and found that the person was using arr[-2] to access the 2nd element before the arr, like so:
|a|b|c|d|e|f|g|
       ^------------ arr[0]
         ^---------- arr[1]
   ^---------------- arr[-2]
Is that allowed?
I know that arr[x] is the same as *(arr + x). So arr[-2] is *(arr - 2), which seems ok. What do you think?
Thanks, Boad Cydo.