एक सरणी को आम तौर पर आदेश दिया जाता हैतत्वों का एक सेट, जिनमें से प्रत्येक के पास निश्चित (समान) प्रकार है सरणी स्थिर और गतिशील हैं पहले की लंबाई प्रोग्रामिंग चरण के दौरान निर्धारित की जाती है, अर्थात्। चलाने के लिए कार्यक्रम शुरू करने से पहले, दूसरा - निष्पादन के दौरान।
एक स्थिर सरणी के लिए, विवरण होना चाहिएप्रोग्राम ऑपरेशन के दौरान तत्वों की संख्या (बदल या कमी) नहीं बदला जा सकता है। जब आप एक प्रोग्राम चलाते हैं जो एक स्थिर सरणी का उपयोग करता है, तो उसके कई तत्वों को संग्रहीत करने के लिए कई बाइट स्मृति में आवंटित किए जाते हैं स्मृति का यह राशि कार्यक्रम को तब तक निर्दिष्ट किया जाएगा जब तक कि इसका काम खत्म नहीं हो जाएगा। यहां तक कि अगर इस मेमोरी का उपयोग नहीं किया गया है, तो कोई अन्य प्रोग्राम कोड इसे एक्सेस करने में सक्षम नहीं होगा।
पास्कल प्रोग्रामिंग भाषा काम कर सकती हैकेवल स्थिर सरणियों के साथ इसलिए, यदि आप एक चर-लंबाई अनुक्रम के साथ काम करना चाहते हैं, तो आप एक संरचना का वर्णन कर सकते हैं, उदाहरण के लिए, सौ तत्वों से, और विभिन्न स्तरों पर अलग-अलग चरणों का उपयोग करें, 100 से अधिक नहीं। और यह निश्चित रूप से अनुचित है।
ऐसी समस्या एक एकीकृत में मौजूद नहीं हैडेल्फी विकास पर्यावरण डायनेमिक सरणी आपको वर्णन में तत्वों की संख्या निर्दिष्ट करने के लिए निर्दिष्ट नहीं करने देता है, लेकिन प्रोग्राम के निष्पादन के दौरान इसे निर्धारित करने के लिए। एक गतिशील सरणी को वार अनुभाग में निम्नानुसार वर्णित किया जा सकता है:
Var विशाल: पूर्णांक का सरणी
इस प्रकार, संरचना नामितपहचानकर्ता विशाल, एक अज्ञात (अभी तक!) लंबाई का एक रैखिक पूर्णांक अनुक्रम है आकार सेट करने के लिए, प्रोग्राम को SetLength प्रक्रिया का उपयोग करना चाहिए, उदाहरण के लिए, SetLength (विशाल, 9)। एक गतिशील विशाल सरणी 9 के बराबर एक आयाम प्राप्त कर लेगा। अब यह निर्धारित किया जाता है कि अनुक्रम में नौ पूर्णांक-प्रकार के तत्व हैं, जो शून्य से गिने गए हैं। इन सुविधाओं में एक गतिशील सरणी है डेल्फी की एक ऐसी प्रक्रिया है जो संख्याओं के सेट से स्मृति को मुक्त करती है, जब उनके भंडारण की आवश्यकता गायब हो जाती है। यह अंतिम रूपी प्रक्रिया है, हमारे मामले में इसे निम्नानुसार लागू किया जाएगा: अंतिम रूप से (विशाल)।
इसी तरह, आप डेल्फी में बहु-आयामी गतिशील एरे का वर्णन और लागू कर सकते हैं। उदाहरण के लिए, एक दो-आयामी गतिशील संरचना को निम्नानुसार वर्णित किया जाएगा:
Var विशाल: पूर्णांक के सरणी की सरणी
यदि आवश्यक हो, मैट्रिक्स कॉलम अलग-अलग लंबाई का हो सकता है। यह भी SetLength प्रक्रिया द्वारा निर्दिष्ट किया गया है।
अक्सर होता है, विशेष रूप से बड़े और जटिल मेंकार्यक्रम जो कुछ डेटा संरचना समय-समय पर या केवल कार्यक्रम के आरंभ / अंत में उपयोग किए जाते हैं। साथ ही रैम में "आरक्षित" में एक स्थान रखने के लिए बहुत ही बेकार होगा। गतिशील सरणी कंप्यूटर सिस्टम के संसाधनों के तर्कसंगत वितरण के तरीकों में से एक है। हालांकि इसमें कुछ कमियां हैं सबसे पहले, यह हमेशा खरोंच से तत्वों की संख्या के लिए सुविधाजनक नहीं है। दूसरे, प्रोग्रामर को प्रोग्राम कोड के प्रत्येक बिंदु पर लगातार समझना चाहिए, जिसमें गतिशील सरणी है। लेकिन उनके गुण हास्यास्पद इन सभी कठिनाइयों को बनाते हैं। विशेष रूप से, यदि आप सब्सट्रिन से बड़ी मात्रा में डेटा स्थानांतरित करना चाहते हैं, तो आप गतिशील प्रतिनिधित्व के बिना नहीं कर सकते।
</ p>