ANSI C defines a[i] as *((a) + (i)). So there's really no difference in which one comes first, pointer or index.