Важливо зберігати дані таким чином, щоб їх можна було отримати на використовуваних мовах. Мова на мові З зберігається у великому порядку (перший перший рядок стоїть першим, потім весь другий рядок, ...), при цьому кожен індекс працює від 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_C_language [i] [j] за допомогою X_FORTRAN (j + 1, i + 1). Наприклад, X_C_language [1] [2] дорівнює X_FORTRAN (3,2). В одновимірних масивах це значення даних має значення X1dim_C_language [2 * Cdim2 + 3], що відповідає позиції X1dim_FORTRAN (2 * Fdim1 + 3 + 1). Пам'ятайте, що Cdim2 = Fdim1, оскільки порядок індексів зворотний.
MATLAB - те саме, що FORTRAN. Ada - це те саме, що C, за винятком того, що індекси зазвичай починаються з 1. Будь-яка мова матиме індекси в одному з цих замовлень C або FORTRAN, а індекси починатимуться з 0 або 1 і можуть бути відповідно налаштовані для отримання збережених даних.
Вибачте, якщо це пояснення бентежить, але я думаю, що це точно і важливо для програміста знати.