C99 §6.5.2.1/2:

The definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2))).


a[b]는 *(a+b)의 syntactic sugar야


a[5]는 *(a+5)로써 나타낼 수 있어.


그렇다면 음수로 a[-1]꼴도 가능하며


a[1] = *(a+1) 이고 *(a+1) = *(1+a)니까

a[1] = 1[a]네.


2차원 배열을 풀어보자면


a[b][c] = *(*(a+b)+c)

그럼 a[b][c]또한 b[a][c]가 될 수 있겠네.


위 성질으로 한번 재밌는 문법 유도할 수 있는 사람있어?