इस पोस्ट में हम स्टैक और हीप के बीच के अंतर को समझेंगे
स्टैक
-
यह एक रैखिक डेटा संरचना है।
-
मेमोरी एक सन्निहित (निरंतर) ब्लॉक में आवंटित की जाती है।
-
स्टैक के लिए मेमोरी को कंपाइलर के निर्देशों का उपयोग करके स्वचालित रूप से आवंटित और हटा दिया जाता है।
-
स्टैक बनाने और बनाए रखने में कम खर्च होता है।
-
इसे लागू करना आसान है।
-
यह आकार में तय है; इसलिए यह लचीला नहीं है।
-
इसका एकमात्र नुकसान स्मृति की कमी है, क्योंकि यह आकार में निश्चित है।
-
यदि सभी ब्लॉकों पर कब्जा नहीं किया जाता है, तो स्मृति भी बर्बाद हो जाती है।
-
स्टैक के तत्वों तक पहुँचने में कम समय लगता है।
-
इसका संदर्भ का एक उत्कृष्ट स्थान है।
ढेर
-
यह एक पदानुक्रमित डेटा संरचना है।
-
मेमोरी को यादृच्छिक तरीके से आवंटित किया जाता है।
-
मेमोरी को प्रोग्रामर द्वारा मैन्युअल रूप से आवंटित और हटा दिया जाता है।
-
ढेर का निर्माण और रखरखाव करना महंगा है।
-
ढेर संरचना को लागू करना मुश्किल है।
-
ढेर के तत्वों तक पहुँचने में अधिक समय लगता है।
-
ढेर का नुकसान स्मृति का विखंडन है।
-
ढेर में आकार बदलना संभव है।
-
इसलिए, स्मृति बर्बाद नहीं होती है।
-
इसमें संदर्भ का पर्याप्त स्थान है।
मुख्य मेमोरी के अंदर एक प्रक्रिया -