Why does this work? Illogical array access Why does this work? Illogical array access arrays arrays

Why does this work? Illogical array access


In simplistic terms, the access of an array element in C (and in C++, when [] isn't overloaded) is as follows:

x[i] = *(x + i)

So, with this and a little bit of arithmetic...

  foo[i][bar]= (foo[i])[bar]= (*(foo + i))[bar]= *((*(foo + i)) + bar)= *(bar + (*(foo + i)))= bar[*(foo + i)]= bar[foo[i]]

Don't use this "fact" though. As you've seen, it makes the code unreadable, and unreadable code is unmaintainable.