এই বিভাগে আমরা দেখতে পাব যখন আমরা একটি ভেরিয়েবল ঘোষণা করব যেটিকে শুরু করা হয়নি, যে মানটি তারা C বা C++ ভাষায় ধারণ করে। কখনও কখনও আমরা অনুমান করি যে কম্পাইলার কিছু মান নির্ধারণ করে যেমন int এর জন্য 0, float এর জন্য 0.0 ইত্যাদি। কিন্তু ক্যারেক্টার ডেটাটাইপের জন্য কি হবে? আসুন আমরা বিভিন্ন কম্পাইলার ব্যবহার করে বাস্তবায়ন এবং কম্পাইল ব্যবহার দেখি।
উদাহরণ (C++)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <iostream> using namespace std; int main() { char char_var; float float_var; int int_var; double double_var; long long_var; cout << char_var << endl; cout << float_var << endl; cout << int_var << endl; cout << double_var << endl; cout << long_var << endl; }
আউটপুট (Cpp.sh এ সংকলিত)
0 0 0 0
আউটপুট (অনলাইন GDB তে সংকলিত)
5.88054e-39 0 6.95297e-310 0
আউটপুট (স্থানীয় সিস্টেম)
9.73438e-039 4309744 1.15685e-306 -53505136
এখন প্রশ্ন আসে কেন C/C++ কম্পাইলার ডিফল্ট মান সহ ভেরিয়েবল শুরু করে না? উত্তরটি সহজ, একটি স্ট্যাক ভেরিয়েবল শুরু করার ওভারহেড ব্যয়বহুল কারণ এটি কার্যকর করার গতিকে বাধা দেয়, এর ফলে এই ভেরিয়েবলগুলি অনির্দিষ্ট মান নিয়ে গঠিত হতে পারে। সুতরাং, এটি কোডে প্রয়োগ করার আগে একটি আদিম ডেটা টাইপ ভেরিয়েবল শুরু করা ভাল অনুশীলন হিসাবে বিবেচিত হয়৷