का उपयोग करके आवंटित करते समय शून्य वर्ण शामिल है, मैं काफी समय से सी का उपयोग कर रहा हूं, और मेरे पास यह मामूली समस्या है जिसके बारे में मैं पूछना चाहता हूं।मॉलोक
कहें कि मैं एक वर्ण सरणी बनाना चाहता हूं जो 1000 वर्ण तक संग्रहीत करे। अब, जब मैं इसके लिए malloc का उपयोग कर रहा हूं, तो क्या मैं सरणी का आकार 1001 वर्ण [1000 वर्ण + शून्य] या केवल 1000 के रूप में निर्दिष्ट करता हूं?
इसके अलावा, मैं कहता हूं कि मैं इस समस्या से आया हूं, तो मुझे कुछ परीक्षण कार्यक्रमों का उपयोग करके शायद इस समाधान का जवाब कैसे मिल सकता है। मैं समझता हूं कि स्ट्रिंग के आकार को शून्य चरित्र के बिना गणना की जाती है, लेकिन जब मैं इसके लिए स्मृति आवंटित कर रहा हूं, तो क्या मैं नल चरित्र को भी ध्यान में रखता हूं?
आपको अभी भी ध्यान रखना होगा कि शून्य टर्मिनेटर को एक अतिरिक्त बाइट की आवश्यकता है, इसलिए यदि आपकी स्ट्रिंग को हजारों अक्षरों की आवश्यकता होती है, तो 'कॉलोक()' का उपयोग करके इस तथ्य को नहीं बदला जाता है कि आपको हजारों की आवश्यकता है और अपनी स्ट्रिंग को स्टोर करने के लिए एक बाइट्स। –