किसी सरणी के आकार का निर्धारण कैसे करें

विषयसूची:

किसी सरणी के आकार का निर्धारण कैसे करें
किसी सरणी के आकार का निर्धारण कैसे करें

वीडियो: किसी सरणी के आकार का निर्धारण कैसे करें

वीडियो: किसी सरणी के आकार का निर्धारण कैसे करें
वीडियो: #sciencesamplepaper #class-xpaper #assessment #2020-21paper #easysolution #complete #newsolution 2024, नवंबर
Anonim

प्रोग्राम ऑपरेशन के दौरान डेटा स्टोरेज के सबसे अधिक इस्तेमाल किए जाने वाले रूपों में से एक है। वे आपको एक ही प्रकार के तत्वों को क्रमबद्ध क्रम में व्यवस्थित करने और अनुक्रमणिका द्वारा उन तक त्वरित पहुँच प्राप्त करने की अनुमति देते हैं। बहुत बार, शक्तिशाली और लचीली प्रोग्रामिंग भाषाओं में एप्लिकेशन विकसित करते समय जो सीधे मेमोरी एक्सेस की अनुमति देते हैं, जैसे कि C ++, आपको सरणी के आकार को निर्धारित करने की आवश्यकता होती है।

किसी सरणी के आकार का निर्धारण कैसे करें
किसी सरणी के आकार का निर्धारण कैसे करें

ज़रूरी

सी ++ कंपाइलर।

निर्देश

चरण 1

sizeof ऑपरेटर का उपयोग करके इसकी गणना करके संकलन समय पर सरणी का आकार निर्धारित करें। यह ऑपरेटर इसे पारित तर्क द्वारा कब्जा कर लिया गया स्मृति की मात्रा (बाइट्स में) देता है। तर्क या तो एक चर या एक प्रकार का पहचानकर्ता हो सकता है। sizeof ऑपरेटर प्रोग्राम निष्पादन के चरण में ऑब्जेक्ट द्वारा कब्जा की गई स्मृति की सीमित मात्रा देता है (उदाहरण के लिए, संरचना फ़ील्ड के संरेखण के लिए सेटिंग्स को ध्यान में रखते हुए), लेकिन इसकी गणना संकलन चरण में की जाती है।

चरण 2

sizeof ऑपरेटर का उपयोग करके किसी सरणी का आकार निर्धारित करने के लिए, उसके पूरे आकार को एक तत्व के आकार से विभाजित करें। उदाहरण के लिए, यदि आपके पास एक सरणी की निम्नलिखित परिभाषा है: int aTemp = {10, 20, 0xFFFF, -1, 16}, तो इसके आकार की गणना इस प्रकार की जा सकती है: int nSize = sizeof (aTemp) / sizeof (aTemp) [0]);

चरण 3

इस पद्धति के अधिक सुविधाजनक उपयोग के लिए, मैक्रो को परिभाषित करना समझ में आता है: #define countof (a) (sizeof (a) / sizeof (a [0])) ध्यान दें कि चूंकि sizeof ऑपरेटर के मूल्य की गणना संकलन पर की जाती है समय, उस बिंदु पर, जहां गणना की जाती है, सरणी के आयतन और उसके तत्वों के बारे में जानकारी स्पष्ट रूप से उपलब्ध होनी चाहिए। दूसरे शब्दों में, इसकी बाहरी घोषणा द्वारा अज्ञात आकार की एक सरणी के मापदंडों को निर्धारित करना असंभव है।

चरण 4

कार्यक्रम के निष्पादन के दौरान इसकी समाप्ति के ज्ञात संकेत का उपयोग करके सरणी का आकार निर्धारित करें। अनिश्चित लंबाई के सरणियों के रूप में डेटा को संग्रहीत और प्रसारित करने की अनुमति देने वाले दृष्टिकोणों में से एक डेटा अनुक्रम के पूरा होने का संकेत देने वाले संकेत के लिए एक विशेष मूल्य आवंटित करना है। उदाहरण के लिए, सिंगल-बाइट सी-स्टाइल स्ट्रिंग्स जो कि कैरेक्टर एरे हैं, उन्हें 0 के मान के साथ समाप्त होना चाहिए, पैक्ड वेरिएबल-लेंथ सी-स्ट्रिंग सरणियों को शून्य-समाप्त किया जाता है, और पॉइंटर एरे को शून्य-समाप्त किया जाना चाहिए।

चरण 5

इस तरह से दर्शाए गए सरणी के आकार को निर्धारित करने के लिए, इसे तब तक तत्व द्वारा स्कैन करें जब तक आपको समाप्ति तत्व नहीं मिल जाता। स्कैन के दौरान शून्य-आरंभिक काउंटर बढ़ाएँ। या, पॉइंटर के मान को एक सरणी तत्व तक बढ़ाएँ, और स्कैन करने के बाद, पॉइंटर्स के बीच वर्तमान और पहले तत्वों के बीच अंतर की गणना करें।

चरण 6

इसकी विधि को कॉल करके किसी फ्रेमवर्क या लाइब्रेरी ऑब्जेक्ट द्वारा दर्शाए गए डायनेमिक ऐरे का आकार प्राप्त करें। ऐसे सरणियों की कार्यक्षमता को समाहित करने वाले किसी भी वर्ग में तत्वों की वर्तमान संख्या प्राप्त करने के तरीके होते हैं। उदाहरण के लिए, C ++ मानक पुस्तकालय के std:: वेक्टर टेम्पलेट वर्ग में एक आकार विधि है, Qt ढांचे के QVector वर्ग में एक गणना विधि है, और MFC के अनुरूप CArray वर्ग में एक GetCount विधि है।

सिफारिश की: