सबसे आम प्रश्नों में से एक यह है कि सी या सी ++ में कुछ प्रारंभिक प्रारंभिक डेटा मानों का मूल्य क्या होगा? वैसे उत्तर विभिन्न प्रणालियों में भिन्न होगा। हम मान सकते हैं कि कंपाइलर 0 को वेरिएबल्स में असाइन करेगा। यह पूर्णांक के लिए 0 के रूप में, फ्लोट 0.0 के लिए किया जा सकता है, लेकिन वर्ण प्रकार डेटा के लिए क्या होगा?
उदाहरण
#include <iostream> using namespace std; main() { char a; float b; int c; double d; long e; cout << a << "\n"; cout << b << "\n"; cout << c << "\n"; cout << d << "\n"; cout << e << "\n"; }
आउटपुट (Windows कंपाइलर पर)
1.4013e-045 0 2.91499e-322 0
आउटपुट (लिनक्स कम्पाइलर पर)
0 0 0 0
तो, अब सवाल आता है कि C या C++ वेरिएबल्स के लिए कुछ डिफ़ॉल्ट मान क्यों नहीं दे रहा है? जवाब है, स्टैक वैरिएबल को इनिशियलाइज़ करने का ओवरहेड महंगा है। यह निष्पादन की गति को भी बाधित करता है। तो इन चरों में कुछ मध्यवर्ती मान हो सकते हैं। इसलिए हमें इसका उपयोग करने से पहले आदिम डेटाटाइप मानों को इनिशियलाइज़ करना होगा।