c++ - int a[0]; What is the use of this statement? Where does it makes sense? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 2 जवाब
  • 8 जवाब

    मैंने संरचना के अंत में ड्राइवर कार्यक्रमों में इस बयान का उपयोग देखा है। क्या कोई मुझे बता सकता है कि इस कथन का क्या उपयोग है? और यह आंतरिक रूप से कैसे काम करता है? मेरा मतलब है कि संकलक क्या इसे सरणी या एक चर के रूप में मानता है?

    सी में, यह आपको अनुमति देने के लिए एक चाल है संरचना के अंत में एक चर-आकार की सरणी को डालने के लिए, निश्चित आकार के दोनों क्षेत्रों के लिए पर्याप्त स्मृति आवंटित करके और जो भी आप सरणी में चाहते हैं। उदाहरण के लिए:

      स्ट्रेट सरणी {size_t आकार; इंट ए []; // कड़ाई से, यह शून्य आकार के बजाय अपूर्ण होना चाहिए;); स्ट्रेट सरणी * मेकअरे (आकार_टी आकार) {स्ट्रेट सरणी = सरणी = मॉलोक (आकारफ (संरचना सरणी) + आकार * आकारफ (इंट)); सरणी- & gt; आकार = आकार; वापसी सरणी; } स्ट्रेट सरणी * array = make_array (2); सरणी- & gt; एक [1] = 42; // कोई समस्या नहीं: दो सरणी तत्वों के लिए पर्याप्त मेमोरी है   

    सी ++ में, यह मान्य नहीं है। इसके बजाय std :: vector का उपयोग करें।

Comments

Popular posts from this blog

c++ - Cmake produces file extensions in static library archives -

c# - Roxy file manager in MVC doesn't accept session path -

c# - XML - Serialize class - Some questions -