प्रश्न: "शून्य" के अपरिभाषित आकार को समझना
सी प्रोग्रामिंग में, कीवर्ड "शून्य" प्रकार की अनुपस्थिति का प्रतिनिधित्व करता है। इससे सवाल उठता है: "शून्य" का आकार क्या है?
उत्तर:
प्रकार "शून्य" का सी में कोई परिभाषित आकार नहीं है। ऑब्जेक्ट या पॉइंटर्स के लिए मान्य प्रकार, इसलिए इसे इस रूप में उपयोग करने का प्रयास करने से संकलन त्रुटि हो सकती है। विशेष रूप से, कथन:
void n;
अमान्य है क्योंकि यह एक void प्रकार के एक चर को घोषित करने का प्रयास करता है, जिसकी अनुमति नहीं है।
एक्सटेंशन: "शून्य" पॉइंटर्स के साथ आवंटन और पॉइंटर अंकगणित
हालांकि "शून्य" का कोई आकार नहीं है, इसे एक प्रकार के रूप में उपयोग किया जा सकता है सूचक. हालाँकि, ऐसे संकेतक डेटा के किसी विशिष्ट प्रकार या आकार की ओर इशारा नहीं करते हैं।
कथन:
void *p = malloc(sizeof(void));
results संकलन-समय त्रुटि में क्योंकि "शून्य" प्रकार के लिए मेमोरी आवंटित करने का प्रयास करना निरर्थक है। फ़ंक्शन मॉलोक को मेमोरी आवंटित करने के लिए एक वैध डेटा प्रकार की आवश्यकता होती है। एक कार्यान्वयन विवरण जिस पर भरोसा नहीं किया जाना चाहिए।
इसके अतिरिक्त, "शून्य" सूचक पर सूचक अंकगणित पी अपरिभाषित है और नहीं होना चाहिए इस्तेमाल किया गया। ऐसा इसलिए है क्योंकि पी द्वारा इंगित डेटा का प्रकार अज्ञात है, जिससे यह निर्धारित करना असंभव हो जाता है कि पॉइंटर को बढ़ाने का क्या मतलब होगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3