D..2 C は row major order

一方、C言語で double a[m][n]; で定義した a について、 アドレスの低い方から
a[0][0], a[0][1], $ \cdots$ , a[0][n-1],
a[1][0], a[1][1], $ \cdots$ , a[1]][n-1],
$ \dots$ ,
a[m-1][0], a[m-1][1], $ \cdots$ , a[m-1][n-1]
と、列 (column) 番号が先に動くように並んでいる。 これを ``row major order'' という。

C以外に、C++, Mathematica, Pascal なども row major order である。

FORTRAN は column major order, C は row major order

桂田 祐史
2018-11-02