ভেরিয়েবল কিভাবে সংরক্ষিত হয়?
ভেরিয়েবল কিভাবে সংরক্ষিত হয়?
Anonim

ভেরিয়েবল সাধারণত সংরক্ষিত RAM এ। নিজেই সাধারণত উপরের নিয়মগুলি অনুসরণ করে (একটি ফাংশনের মধ্যে ঘোষিত একটি পয়েন্টার হল সংরক্ষিত স্ট্যাকের উপর), কিন্তু এটি যে ডেটা নির্দেশ করে (মেমরি ব্লক নিজেই বা আপনি নতুন দিয়ে তৈরি করা বস্তু) সংরক্ষিত গাদা উপর

একইভাবে কেউ জিজ্ঞাসা করতে পারে, কোথায় ভেরিয়েবল সংরক্ষণ করা হয়?

সমস্ত গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবল ডেটা সেগমেন্টে সংরক্ষণ করা হয়, যখন ধ্রুবকগুলি কোড সেগমেন্টে সংরক্ষণ করা হয়। গ্লোবাল ভেরিয়েবলগুলি কয়েকটি জায়গায় থাকতে পারে, সেগুলি কীভাবে সেট আপ করা হয়েছে তার উপর নির্ভর করে - এর জন্য৷ উদাহরণ , const globals এক্সিকিউটেবলের একটি পঠনযোগ্য বিভাগে থাকতে পারে।

একইভাবে, কিভাবে ভেরিয়েবল জাভাতে সংরক্ষণ করা হয়? সমস্ত বস্তু জাভা হয় সংরক্ষিত গাদা উপর দ্য " ভেরিয়েবল " যেগুলির রেফারেন্সগুলি স্ট্যাকের উপর থাকতে পারে বা সেগুলি অন্যান্য বস্তুর মধ্যে থাকতে পারে (তখন সেগুলি সত্যিই নয় ভেরিয়েবল , কিন্তু ক্ষেত্র), যা তাদের স্তূপেও রাখে। হিপ বিভাগে অবজেক্ট রয়েছে (এছাড়াও রেফারেন্স থাকতে পারে ভেরিয়েবল ).

এছাড়াও প্রশ্ন হল, কিভাবে ভেরিয়েবল মেমরিতে সংরক্ষণ করা হয়?

দ্য স্মৃতি একটি জন্য স্লট পরিবর্তনশীল সংরক্ষণ করা হয় হয় স্ট্যাক বা গাদা উপর. এটি যে প্রেক্ষাপটে এটি ঘোষণা করা হয়েছে তার উপর নির্ভর করে: প্রতিটি স্থানীয় পরিবর্তনশীল (অর্থাৎ একটি পদ্ধতিতে ঘোষিত) হল সংরক্ষিত স্ট্যাকের উপর প্রতিটি স্ট্যাটিক পরিবর্তনশীল সংরক্ষণ করা হয় স্তূপে, এটি একটি রেফারেন্স প্রকার বা একটি মান প্রকারের মধ্যে ঘোষণা করা হোক না কেন।

কিভাবে স্থানীয় ভেরিয়েবল স্ট্যাকে সংরক্ষণ করা হয়?

স্থানীয় ভেরিয়েবল সংরক্ষণ করা উপর a স্ট্যাক একটি বাস্তবায়ন বিশদ - মূলত একটি অপ্টিমাইজেশান। আপনি এটা এভাবে ভাবতে পারেন। একটি ফাংশন প্রবেশ করার সময়, সবার জন্য স্থান স্থানীয় ভেরিয়েবল কোথাও বরাদ্দ করা হয়। এটি এর বিপরীতে ভেরিয়েবল গাদা উপর বরাদ্দ, যার ঠিকানা নিজেদের সংরক্ষিত অন্যান্য ভেরিয়েবল.

প্রস্তাবিত: