사용 된 언어로 검색 할 수있는 방식으로 데이터를 저장하는 것이 중요합니다. C 언어는 행 우선 순서로 저장됩니다 (첫 번째 행 모두 먼저, 두 번째 행 모두 ...). 모든 인덱스가 0에서 차원 -1까지 실행됩니다. 따라서 배열 x [2] [3]의 순서는 x [0] [0], x [0] [1], x [0] [2], x [1] [0], x [1] [ 1], x [1] [2]. 따라서 C 언어에서 x [i] [j]는 1 차원 배열 항목 x1dim [i * 3 + j]와 같은 위치에 저장됩니다. 데이터가 이렇게 저장되면 C 언어로 쉽게 검색 할 수 있습니다.
Fortran과 MATLAB은 다릅니다. 열 주요 순서로 저장되며 (첫 번째 열이 모두 먼저 나오고 두 번째 행이 모두 나타납니다 ....) 모든 인덱스는 1에서 차원까지 실행됩니다. 따라서 인덱스 순서는 C의 반대이고 모든 인덱스는 1 더 큽니다. 데이터를 C 언어 순서로 저장하면 FORTRAN은 X_FORTRAN (j + 1, i + 1)을 사용하여 X_C_language [i] [j]를 찾을 수 있습니다. 예를 들어, X_C_language [1] [2]는 X_FORTRAN (3,2)과 같습니다. 1 차원 배열에서 해당 데이터 값은 X1dim_C_language [2 * Cdim2 + 3]에 있으며, 이는 X1dim_FORTRAN (2 * Fdim1 + 3 + 1)과 동일한 위치입니다. 인덱스의 순서가 반대이므로 Cdim2 = Fdim1임을 기억하십시오.
MATLAB은 FORTRAN과 동일합니다. Ada는 인덱스가 일반적으로 1에서 시작하는 것을 제외하고 C와 동일합니다. 모든 언어는 해당 C 또는 FORTRAN 주문 중 하나의 인덱스를 가지며 인덱스는 0 또는 1에서 시작하며 저장된 데이터를 얻기 위해 그에 따라 조정할 수 있습니다.
이 설명이 혼란 스럽다면 미안하지만 프로그래머가 아는 것이 정확하고 중요하다고 생각합니다.