अगर यह मायने रखती है, आप की संभावना कुछ असुरक्षित और गैर पोर्टेबल कर रहे हैं।
हाँ, memset
कॉल 0 के लिए किसी भी गद्दी बिट्स (या बाइट्स) स्थापित करेगा - लेकिन भाषा है कि सभी बिट शून्य करने के लिए एक float
वस्तु की स्थापना 0.0 करने के लिए यह कर देगा में कोई गारंटी नहीं है। वही पॉइंटर्स पर लागू होता है: ऑल-बिट्स-शून्य को शून्य सूचक होने की गारंटी नहीं है। (दोनों मामलों में, यह अधिकांश कार्यान्वयन के लिए सच होता है।)
मूल आईएसओ सी 9 0 या सी 99 मानक ने यह भी गारंटी नहीं दी कि सभी बिट्स-शून्य पूर्णांक प्रकारों के लिए 0 का मान्य प्रतिनिधित्व है; सी -99 तकनीकी कोर्रिजेंडा में से एक ने ऐसी गारंटी दी (केवल पूर्णांक प्रकारों के लिए)।
पोर्टेबिलिटी के लिए, यदि आप कुछ शून्य होना चाहते हैं, यह स्पष्ट रूप से सेट। आप स्थैतिक वस्तुओं के लिए शून्य प्रारंभिकरण और शुरुआती सदस्यों में छोड़े गए सदस्यों के लिए लाभ भी ले सकते हैं।
एक पारिभाषिक nitpick: "पैडिंग बिट्स" पूर्णांक प्रकार के प्रतिनिधित्व का हिस्सा हैं (और आमतौर पर वहाँ उनमें से कोई भी कर रहे हैं)। स्ट्रक्चर सदस्यों के बीच पैडिंग बाइट पैडिंग है।
स्रोत
2011-12-18 05:31:37
आप हमें एक कोड नमूना दिखा सकते हैं? – Mysticial
जोड़ा गया कोड नमूना –
मुझे समझ में नहीं आता कि आपका संदेह क्या है। –