C সর্বদা অবজেক্টের প্রাথমিক মানগুলি সম্পর্কে খুব নির্দিষ্ট ছিল। গ্লোবাল বা স্ট্যাটিক হলে, সেগুলি শূন্য করা হবে। স্বয়ংক্রিয় হলে, মানটি অনির্ধারিত। এটি প্রাক-C89 কম্পাইলারগুলির ক্ষেত্রে ছিল এবং K&R এবং DMR-এর মূল C রিপোর্টে তাই নির্দিষ্ট করা হয়েছিল৷
সি-তে কি ডিফল্ট ইনিশিয়ালাইজেশন আছে?
কিছু প্রোগ্রামিং ভাষার বিপরীতে, C/C++ বেশিরভাগ ভেরিয়েবলকে একটি নির্দিষ্ট মান (যেমন শূন্য) স্বয়ংক্রিয়ভাবে আরম্ভ করে না। এইভাবে যখন একটি ভেরিয়েবলকে কম্পাইলার দ্বারা একটি মেমরি অবস্থান নির্ধারণ করা হয়, তখন সেই ভেরিয়েবলের ডিফল্ট মান যা কিছু (আবর্জনা) মান ইতিমধ্যেই সেই মেমরি অবস্থানে থাকে!
C-তে একটি অ্যারের ডিফল্ট আরম্ভ কি?
উদাহরণস্বরূপ, পূর্ণসংখ্যা অ্যারেগুলি 0 দ্বারা আরম্ভ করা হয়। ডাবল এবং ফ্লোট মান 0.0 দিয়ে আরম্ভ করা হবে। চার অ্যারের জন্য, ডিফল্ট মান হল '\0'। পয়েন্টারগুলির একটি অ্যারের জন্য, ডিফল্ট মান হল nullptr.
সি-তে কি ডাইনামিক ইনিশিয়ালাইজেশন সম্ভব?
C++
অবজেক্টের ডায়নামিক ইনিশিয়ালাইজেশন বলতে বোঝায় একটি রান টাইমে অবজেক্টের ইনিশিয়ালাইজ করাঅর্থাৎ, একটি অবজেক্টের প্রারম্ভিক মান দেওয়া হয় রান সময় কনস্ট্রাক্টর ব্যবহার করে এবং কনস্ট্রাক্টরদের কাছে প্যারামিটার পাস করে এটি অর্জন করা যেতে পারে।
কোন ভেরিয়েবলগুলি সি-তে স্বয়ংক্রিয়ভাবে শুরু হয়?
গ্লোবাল ভেরিয়েবল ঘোষণার সময় স্বয়ংক্রিয়ভাবে 0 তে শুরু হয়। গ্লোবাল ভেরিয়েবলগুলি সাধারণত প্রধান ফাংশনের আগে লেখা হয়। লাইন 4 এ, a এবং b কে int টাইপের দুটি গ্লোবাল ভেরিয়েবল হিসাবে ঘোষণা করা হয়েছে।