এই প্রশ্নের নিষ্প্রভতার জন্য অগ্রিম ক্ষমা চাই। আমি একজন 50 বছর বয়সী শিল্পী যিনি প্রথমবারের মতো কম্পিউটারগুলি সঠিকভাবে বুঝতে চেষ্টা করছেন trying সুতরাং এখানে যায়।
আমি কম্পাইলার দ্বারা কীভাবে ডেটা টাইপ এবং ভেরিয়েবলগুলি পরিচালনা করা হয় তা বোঝার চেষ্টা করছি (খুব সাধারণ অর্থে, আমি জানি এটির অনেক কিছুই আছে)। "স্ট্যাক" এবং মানের ধরণের স্টোরেজ এবং "হিপ" এবং রেফারেন্সের ধরণের স্টোরেজ (উদ্ধৃতি চিহ্নগুলি বোঝানোর জন্য বোঝানো হচ্ছে যে আমি এই শর্তাদি বিমূর্ততাগুলি ব্যবহার করি এবং না আমি যেমন এই প্রশ্নটি তৈরি করছি তেমন সরল প্রসঙ্গে খুব আক্ষরিক অর্থে গ্রহণ করা)। যাইহোক, আমার সরল ধারণাটি হ'ল বুলিয়ান এবং পূর্ণসংখ্যার মতো প্রকারগুলি "স্ট্যাক" এ চালায় কারণ তারা পারে, কারণ তারা স্টোরেজ স্পেসের দিক দিয়ে পরিচিত সত্তা, এবং সেই অনুযায়ী তাদের ক্ষেত্রটি সহজেই নিয়ন্ত্রণ করা হয়।
তবে আমি যা পাই না তা হ'ল স্ট্যাকের চলকগুলি কীভাবে কোনও অ্যাপ্লিকেশন দ্বারা পড়ে - যদি আমি ঘোষণা করে এবং x
একটি পূর্ণসংখ্যা হিসাবে নির্ধারণ করি , বলি x = 3
, এবং স্ট্যাকটি স্ট্যাকের উপর সংরক্ষিত থাকে এবং তার মান 3
সেখানে সংরক্ষণ করা হয় এবং তারপরে একই ফাংশনটি আমি ঘোষণা করি এবং নির্ধারণ করি y
, বলি 4
, এবং তারপরে আমি এর পরে x
অন্য অভিব্যক্তিতে ব্যবহার করি (বলুন z = 5 + x
) প্রোগ্রামটি যখন নীচে থাকে তখন x
মূল্যায়ন করার জন্য কীভাবে পড়তে পারেz
y
স্ট্যাকের উপর? আমি স্পষ্টত কিছু মিস করছি। এটি কি স্ট্যাকের অবস্থানটি কেবলমাত্র ভেরিয়েবলের আজীবন / সুযোগ সম্পর্কে এবং পুরো স্ট্যাকটি আসলে সমস্ত সময় প্রোগ্রামে অ্যাক্সেসযোগ্য? যদি তা হয় তবে এর অর্থ কি আরও কিছু সূচক রয়েছে যা মানগুলি পুনরুদ্ধার করার জন্য স্ট্যাকের কেবলমাত্র ভেরিয়েবলের ঠিকানাগুলি ধারণ করে? তবে আমি ভেবেছিলাম স্ট্যাকের পুরো বিন্দুটি হ'ল মানগুলি ভেরিয়েবল ঠিকানার মতো একই জায়গায় সংরক্ষণ করা হয়েছিল? আমার শঙ্কিত মনে হ'ল যদি এই অন্য সূচকটি থাকে তবে আমরা গাদা জাতীয় কিছু নিয়ে কথা বলছি? আমি স্পষ্টতই খুব বিভ্রান্ত, এবং আমি আশা করছি আমার সরল প্রশ্নটির একটি সহজ উত্তর আছে।
এই পর্যন্ত পড়ার জন্য ধন্যবাদ।