सी में स्ट्रक्चर और ऐरे दोनों को डेटा प्रकारों के लिए कंटेनर के रूप में उपयोग किया जाता है यानी संरचना और सरणी दोनों में हम डेटा स्टोर कर सकते हैं और उन पर अलग-अलग ऑपरेशन भी कर सकते हैं।
आंतरिक कार्यान्वयन के आधार पर दोनों के बीच कुछ बुनियादी अंतर निम्नलिखित हैं।
Sr. नहीं. | कुंजी | संरचना | <वें शैली="पाठ्य-संरेखण:केंद्र;">सरणीवें>|
---|---|---|---|
1 | परिभाषा | संरचना को कंटेनर के रूप में उपयोग की जाने वाली डेटा संरचना के रूप में परिभाषित किया जा सकता है जो विभिन्न प्रकार के चर धारण कर सकता है। | दूसरी ओर Array एक प्रकार की डेटा संरचना है जिसका उपयोग कंटेनर के रूप में किया जाता है जो एक ही प्रकार के चर धारण कर सकता है और कई डेटा प्रकार चर का समर्थन नहीं करता है। |
2 | स्मृति आवंटन | संरचना में इनपुट डेटा के लिए स्मृति आवंटन का क्रमागत स्मृति स्थान में होना आवश्यक नहीं है। | जबकि सरणी के मामले में इनपुट डेटा सन्निहित मेमोरी आवंटन में संग्रहीत होता है, जिसका अर्थ है कि सरणी डेटा को ऐसे मेमोरी मॉडल में संग्रहीत करता है जहां यह लगातार मेमोरी ब्लॉक (यानी, लगातार पते वाले मेमोरी ब्लॉक) प्रदान करता है। |
3 | पहुंच-योग्यता | संरचना में तत्व तक पहुँचने के लिए हमें उस तत्व का नाम रखना होगा अर्थात संरचना से उसकी पुनर्प्राप्ति के लिए तत्व का नाम होना अनिवार्य है। | दूसरी ओर ऐरे के मामले में हम इंडेक्स द्वारा तत्व तक पहुंच सकते हैं। |
4 | सूचक | संरचना में आंतरिक रूप से सूचक की अवधारणा नहीं है। | दूसरी ओर ऐरे के मामले में यह आंतरिक रूप से पॉइंटर को लागू करता है जो हमेशा ऐरे के पहले तत्व को इंगित करता है। |
5 | तत्काल | बाद में प्रोग्राम में घोषणा के बाद स्ट्रक्चर ऑब्जेक्ट बनाया जा सकता है। | दूसरी ओर Array के मामले में हम घोषणा के बाद उसका ऑब्जेक्ट नहीं बना सकते। |
6 | डेटा प्रकार | संरचना इनपुट के रूप में अनेक डेटा-प्रकार चरों का समर्थन करती है। | दूसरी ओर, Array के मामले में हमारे पास इनपुट के रूप में अलग-अलग डेटा-टाइप वेरिएबल नहीं हो सकते हैं क्योंकि यह केवल एक ही प्रकार के डेटा वेरिएबल का समर्थन करता है। |
7 | प्रदर्शन | परिभाषित डेटा प्रकार के उपयोग के कारण संरचना प्रदर्शन में धीमी हो जाती है क्योंकि ऐरे की तुलना में संरचना में तत्व की पहुंच और खोज धीमी होती है। | दूसरी ओर ऐरे एक्सेस और एलिमेंट की खोज के मामले में तेज है और इसलिए प्रदर्शन में बेहतर है। |