डेटा को इस तरह से संग्रहित करना महत्वपूर्ण है कि इसे उपयोग की जाने वाली भाषाओं में पुनर्प्राप्त किया जा सके। पंक्ति-प्रमुख क्रम में सी-भाषा स्टोर (पहली पंक्ति के सभी पहले आते हैं, फिर दूसरी पंक्ति के सभी, ...) 0 से चल रहे प्रत्येक सूचकांक के साथ आयाम -1 है। तो सरणी x [2] [3] का क्रम x [0] [0], x [0] [1], x [0] [2], x [1] [0], x [1] [है] 1], x [1] [2]। तो सी भाषा में, x [i] [j] को 1-आयामी सरणी प्रविष्टि X1dim [i * 3 + j] के समान स्थान पर संग्रहीत किया जाता है। यदि डेटा को इस तरह संग्रहीत किया जाता है, तो सी भाषा को पुनः प्राप्त करना आसान है।
फोरट्रान और MATLAB अलग हैं। वे कॉलम-मेजर ऑर्डर में स्टोर करते हैं (पहले कॉलम के सभी पहले आते हैं, फिर सभी दूसरी पंक्ति के, ...) और हर इंडेक्स 1 से इसके आयाम तक चलता है। इसलिए इंडेक्स ऑर्डर सी का उल्टा है और सभी सूचकांक 1 से अधिक हैं। यदि आप सी भाषा क्रम में डेटा संग्रहीत करते हैं, तो FORTRAN X_C_language [i] [j] X_FORTRAN (j + 1, i + 1) का उपयोग कर पा सकते हैं। उदाहरण के लिए, 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 समान रूप से C को छोड़कर सूचकांकों को सामान्य रूप से 1 पर शुरू करता है। किसी भी भाषा में C या FORTRAN आदेशों में से किसी एक में सूचकांक होंगे और सूचकांक 0 या 1 से शुरू होंगे और संग्रहीत डेटा पर प्राप्त करने के लिए तदनुसार समायोजित किए जा सकते हैं।
क्षमा करें यदि यह स्पष्टीकरण भ्रामक है, लेकिन मुझे लगता है कि प्रोग्रामर के लिए यह जानना सही और महत्वपूर्ण है।