मैं सी है कि मैं निम्नलिखित कर सकते हैं में पता है।घोषणा के अलावा समय पर सी सरणी शुरू करना?
int test[5] = {1, 2, 3, 4, 5};
अब सरणी घोषित करते समय यह केवल कानूनी है। हालांकि मैं सोच रहा था कि बाद में ऐसा करने के लिए कानूनी क्यों नहीं है? लेकिन बाद में कार्यक्रम में निम्नलिखित करने के लिए कानूनी नहीं है।
test[5] = {10, 20, 30, 40, 50};
या कुछ समान। ऐसा क्यों है? मुझे पता है कि यह कानूनी नहीं है, और मैं शिकायत नहीं कर रहा हूं, लेकिन क्या कोई मुझे एक और तकनीकी स्पष्टीकरण दे सकता है कि मैं ऐसा क्यों नहीं कर सकता? (यानी केवल यह नहीं कहें कि सी स्पेक इसे या कुछ ऐसा करने की अनुमति नहीं देता है)
मुझे लगता है कि इसे उस समय के साथ कुछ करना है जब स्मृति को सरणी के लिए ढेर पर आवंटित किया जाता है, इसलिए उस बिंदु पर सी मेरे मूल्यों को स्वतः भर सकता है, लेकिन फिर बाद में ऐसा क्यों नहीं कर सकता?
धन्यवाद लोग
तो अगर समाधान है परिकल्पित यह मामला था कि सी मानक सिर्फ इस की अनुमति नहीं होगी (हालांकि यह तकनीकी रूप से संभव होगा), हम कुछ अलग बनाने के लिए होगा इसके बजाए? या आप बिल्कुल जवाब नहीं देना पसंद करेंगे? बस सुनिश्चित करना चाहते हैं। –
@ निकलासबी .: मुझे लगता है कि उस मामले में एक अच्छी तरह से तर्क दिया गया अनुमान लगाया गया है कि क्यों * सी भाषा के डिजाइनरों ने इस सुविधा को छोड़ने का फैसला किया है, यह एक जवाब के रूप में ठीक होगा। – Heinzi
@ हिनजी: ओह, मैं देखता हूं :) –