मैं structs here पर एक समान प्रश्न पूछा है, लेकिन मैं यह पता लगाने की कैसे सी चर बताए तरह बातें संभालती है और कोशिश कर रहा हूँ यह अगर वे कार्यात्मक ही कर रहे हैं उन्हें eachother करने के लिए आवंटित करने के लिए अनुमति नहीं है क्यों।सी सरणी घोषणा और असाइनमेंट?
int x[10];
int y[10];
नहीं एक्स = y क्यों संकलन होगा:
कहते हैं कि मैं दो सरणियों है की सुविधा देता है? यदि वे दोनों समान "हस्ताक्षर" हैं, तो क्या आप उन्हें आगे और आगे असाइन नहीं कर पाएंगे?
मैं इन एक तरीका है कि मुझे क्या करना है कि सी में की अनुमति होगी में घोषित कर सकते हैं? यह मुझे समझ में आता है कि आप सक्षम होंगे, लेकिन शायद ऐसा कोई तरीका है कि यह किया जा सकता है? Structs के लिए Typedefs समाधान प्रतीत होता था, क्या यह सरणी घोषणा और असाइनमेंट के लिए समान होगा?
मैं अपने लोगों की मदद की सराहना करते हैं, मैं Stackoverflow करने के लिए नए कर रहा हूँ, लेकिन यह अब तक मेरे लिए एक बहुत अच्छी संसाधन बना रहा है!
वह कोड अभी भी वह नहीं करता है जो वह चाहता था * यह करना चाहता है, है ना? शायद मैं गलत हूं, लेकिन मुझे लगता है कि वह वाई सरणी की सामग्री को x में कॉपी करने की उम्मीद कर रहा था। –
सच है। सौभाग्य से, कई अन्य उत्तरों ने संकेत दिया है कि memcpy() सही विकल्प है। मैं इसे जोड़ दूंगा ... –
"सरणी का नाम वास्तव में उस सरणी के पहले तत्व का पता है। \ उदाहरण कोड जो आप यहां प्रदान करते हैं वह कुछ ऐसा असाइन करने का प्रयास कर रहा है जो एल-वैल्यू नहीं है।" : वंश के लिए मैंने सोचा कि मुझे लगता है कि सबसे अधिक मतदान वाले उत्तरों से ये दोनों वाक्य गलत हैं। सबसे पहले, एक सरणी का नाम सबसे निश्चित रूप से * एक सूचक नहीं है (उदा। आकार का आकार()), यह कई मामलों में एक सूचक के लिए बस क्षय होता है। दूसरा, सरणी नाम * एक लाभा है, बस एक संशोधित अंतराल नहीं है। –