मैं निम्नलिखित कोडसरणी में अन-प्रारंभिक तत्व का मूल्य क्या होगा?
int t[] = {
[1] = 45,
[2] = 33
};
क्या इस मामले में t[0]
का मूल्य होगा? इसमें कचरा होगा?
मैं निम्नलिखित कोडसरणी में अन-प्रारंभिक तत्व का मूल्य क्या होगा?
int t[] = {
[1] = 45,
[2] = 33
};
क्या इस मामले में t[0]
का मूल्य होगा? इसमें कचरा होगा?
अन्य मूल्य आरंभ किए जाएंगे; सी 11 मानक, §6.7.9 प्रारंभ, ¶19 और ¶21 से:
प्रारंभ प्रारंभकर्ता सूची क्रम में होते होंगे, प्रत्येक प्रारंभकर्ता एक विशेष subobject ही subobject के लिए किसी भी पहले से सूचीबद्ध प्रारंभकर्ता अधिभावी के लिए प्रदान की; 151) सभी सबोबजेक्ट जिन्हें स्पष्ट रूप से प्रारंभ नहीं किया गया है, उन्हें स्थिर भंडारण अवधि वाले ऑब्जेक्ट्स के समान ही शुरू किया जाएगा।
151) उपरोक्त उपनिवेश के लिए कोई प्रारंभकर्ता जो ओवरब्राइड किया गया है और इसलिए उस सबोबजेक्ट को शुरू करने के लिए उपयोग नहीं किया जा सकता है, उसका मूल्यांकन नहीं किया जा सकता है।
एक ब्रेस संलग्न सूची में कम initializers से वहाँ तत्वों या कुल के सदस्यों, वर्ण या उससे कम एक स्ट्रिंग में शाब्दिक जाना जाता आकार की एक सरणी को प्रारंभ करने के लिए इस्तेमाल की तुलना में वहाँ में तत्व हैं कर रहे हैं देखते हैं, तो सरणी, कुल शेष का प्रारंभिक रूप से उसी ऑब्जेक्ट के रूप में शुरू किया जाएगा जिसमें स्थिर भंडारण अवधि हो।
और अप्रारंभीकृत int
स्थिर भंडारण अवधि implicity शून्य करने के लिए प्रारंभ कर रहे हैं के साथ; एक ही खंड, ¶10:
यदि कोई ऑब्जेक्ट जिसमें स्वत: संग्रहण अवधि है, स्पष्ट रूप से प्रारंभ नहीं किया गया है, तो इसका मान अनिश्चित है। यदि कोई ऑब्जेक्ट जिसमें स्थैतिक या थ्रेड स्टोरेज अवधि स्पष्ट रूप से प्रारंभ नहीं की जाती है, तो:
- यदि उसके पास सूचक प्रकार है, तो इसे शून्य सूचक में प्रारंभ किया जाता है;
- यदि उसके पास सूचक प्रकार है, तो यह एक शून्य सूचक के लिए शुरू किया गया है;
- यदि यह अंकगणितीय प्रकार है, तो इसे प्रारंभिक (सकारात्मक या हस्ताक्षरित) शून्य में प्रारंभ किया गया है;
- यदि यह कुल है, तो प्रत्येक सदस्य को इन नियमों के अनुसार प्रारंभिक (पुनरावर्ती) शुरू किया जाता है, और किसी भी पैडिंग को शून्य बिट्स में प्रारंभ किया जाता है;
- यदि यह एक संघ है, तो पहले नामित सदस्य को इन नियमों के अनुसार प्रारंभिक (पुनरावर्ती) प्रारंभ किया गया है, और किसी भी पैडिंग को शून्य बिट्स में प्रारंभ किया गया है;
व्यवहार C89 और C99 में एक ही है।
क्या मानकों से इसके लिए कोई प्रूफ है? – MOHAMED
यह कथन सत्य के रूप में सत्य नहीं है। –
@ एच 2CO3 - किस मामले में? – djechlin