আমরা কি স্থির এবং উদ্বায়ী একসাথে C এ ব্যবহার করতে পারি?
আমরা কি স্থির এবং উদ্বায়ী একসাথে C এ ব্যবহার করতে পারি?
Anonim

স্থির ভেরিয়েবল ফাংশন কলের মধ্যে তাদের মান ধরে রাখে। উদ্বায়ী ভেরিয়েবল (যা এর বিপরীত নয় স্থির ) হয় ব্যবহৃত যখন একটি পরিবর্তনশীল হয় ব্যবহৃত উভয় একটি ISR (ব্যহত পরিষেবা রুটিন) মধ্যে এবং এর বাইরে। উদ্বায়ী কম্পাইলারকে CPUregister-এ ক্যাশে করার পরিবর্তে RAM থেকে পরিবর্তনশীল লোড করতে বলে।

একইভাবে কেউ জিজ্ঞাসা করতে পারে, আমরা কি স্থির এবং উদ্বায়ী একসাথে ব্যবহার করতে পারি?

যদিও আপনি অ্যাক্সেস a স্থির একাধিক থ্রেডের মাধ্যমে মান, প্রতিটি থ্রেড করতে পারা এর স্থানীয় ক্যাশেডকপি আছে! এটি এড়াতে তুমি পারবে ভেরিয়েবলটিকে হিসাবে ঘোষণা করুন স্থির উদ্বায়ী এবং এই ইচ্ছাশক্তি প্রতিবার বৈশ্বিক মান থ্রেডটি পড়তে বাধ্য করুন। যাহোক, অস্থির সঠিক সিঙ্ক্রোনাইজেশনের বিকল্প নয়!

একইভাবে, কেন আমরা সি-তে উদ্বায়ী ব্যবহার করি? C এর উদ্বায়ী কীওয়ার্ড হল একটি কোয়ালিফায়ার যা একটি ভেরিয়েবলের জন্য প্রয়োগ করা হয় যখন এটি ঘোষণা করা হয়। এটি কম্পাইলারকে বলে যে ভেরিয়েবলের মান যেকোন সময় পরিবর্তিত হতে পারে -- কম্পাইলার কাছাকাছি খুঁজে পাওয়া কোড দ্বারা কোনো পদক্ষেপ না নিয়ে। এর প্রভাব বেশ গুরুতর।

এটি বিবেচনা করে, সি-তে স্ট্যাটিক ভোলাটাইল বলতে কী বোঝায়?

স্থির ভেরিয়েবলের সুযোগ বোঝায়। যদি ভেরিয়েবলটি গ্লোবাল হয়, তাহলে এর মানে হল যে সোর্স ফাইলে এটি ঘোষণা করা হয়েছিল তার স্কোপটি সীমিত। যদি ভেরিয়েবলটি কাজ করার জন্য স্থানীয় হয়, তাহলে এর মানে হল যে এই ভেরিয়েবলটিকে ধরে রাখার জন্য ব্যবহৃত মেমরিটি অ্যাপ্লিকেশনটির স্ট্যাটিকভাবে বরাদ্দ করা মেমরিতে রয়েছে।

আমরা কি সি-তে উদ্বায়ী সহ const ব্যবহার করতে পারি?

হ্যাঁ. একটি পরিবর্তনশীল করতে পারা উভয় হিসাবে ঘোষণা করা হবে অস্থির এবং ধ্রুবক ভিতরে গ . কন্সট মডিফায়ার অভ্যন্তরীণ প্রোগ্রাম দ্বারা ভেরিয়েবলের মান পরিবর্তন করার অনুমতি দেয় না। কিন্তু, এটা যে মান মানে না const বাহ্যিক কোড দ্বারা পরিবর্তনশীল পরিবর্তন করা উচিত নয়।

প্রস্তাবিত: