consider following C code
int a[]={1,2,3,4};
printf("%d",2[a]);
this prints "3".How is it possible? I know in a[2] a is the base address of array.But in 2[a] what is 2? and how it accessses array a?I am totally confused with this representation of array.