ডাটা টাইপ স্ট্যাক
স্ট্যাক ডাটা টাইপ প্রতিটি ডাটা থ্রেডের জন্য বরাদ্দ করা র্যান্ডম অ্যাক্সেস মেমরির একটি অংশকে প্রতিনিধিত্ব করে।
স্ট্যাকের কার্যকারিতা LIFO নীতির দ্বারা নির্ধারিত হয়। এই নীতির সারমর্ম হল যে স্ট্যাকের মধ্যে সর্বশেষ যোগ করা মেমরি ফ্র্যাগমেন্টটি প্রথমে এটি থেকে বেরিয়ে আসবে।
স্ট্যাকের সাথে কাজ করার সারমর্ম হল যে একটি ফাংশনের মাধ্যমে একটি নতুন ভেরিয়েবল ঘোষণা করার时, এটি প্রথমে স্ট্যাকের মধ্যে যোগ হয়। যখন ফাংশনটির কাজ শেষ হয় - ভেরিয়েবলটি স্বয়ংক্রিয়ভাবে স্ট্যাক মেমরি থেকে মুছে যায় এবং এটি যে অংশ দখল করেছিল তা অন্যান্য অবজেক্টের জন্য উপলব্ধ হয়ে যায়।
স্ট্যাকের প্রধান সুবিধা হল কোড এক্সিকিউশনের উচ্চ গতি, যাইহোক, এর অসুবিধা হল যে স্ট্যাকের জন্য বরাদ্দকৃত মেমরি ওভারফ্লো হলে ঘোষিত ভেরিয়েবলগুলিকে আর পরিবর্তন করা যাবে না এবং কোড এক্সিকিউশন বন্ধ হয়ে যাবে। স্ট্যাকের আকার থ্রেড তৈরি করার সময় নির্ধারিত হয়, এবং প্রতিটি ভেরিয়েবলের নিজস্ব সর্বোচ্চ মেমরি আকার থাকে, যা প্রথমত তার ডাটা টাইপের উপর নির্ভর করে। যার কারণে জটিল ডাটা টাইপ (উদাহরণস্বরূপ, অবজেক্ট) এর আকার আগে থেকেই ঘোষণা করা প্রয়োজন। এছাড়াও স্ট্যাক শুধুমাত্র লোকাল ভেরিয়েবলগুলিকে মেমরিতে ধরে রাখতে পারে, গ্লোবাল ভেরিয়েবলগুলির জন্য হিপ ব্যবহার করা উচিত।