Первый способ и последний способ доступа к массивам идентичны после его компиляции. Имейте в виду, что доступ к областям памяти, которые находятся близко друг к другу, влияет на производительность, так как они будут кэшироваться по-разному. Таким образом, если вы храните многомерную матрицу, убедитесь, что вы храните строки одну за другой, если вы собираетесь обращаться к ним таким образом.
Как правило, кэши ЦП оптимизируются для временного и пространственного упорядочения. То есть, если вы обращаетесь к адресу памяти X, вероятность того, что вы получите доступ к X + 1, выше. Гораздо эффективнее работать со значениями в одной строке кэша.
Ознакомьтесь с этой статьей о кэшах ЦП для получения дополнительной информации о том, как различные политики хранения влияют на производительность: http://en.wikipedia.org/wiki/CPU_cache