2012-05-13 14 views
6

सी में, सरणी में A[2][3] सबसे दायीं ओर का सूचकांक परिवर्तन एक छोटी से छोटी स्मृति पता पारी में हुई कहना है, यानी तत्व के रूप में A[0][0], A[0][1]...आयताकार सरणी स्मृति क्रम में शारीरिक

ही है .NET में आयताकार सरणियों के लिए सच है स्मृति में स्थित थे? यदि हमारे पास है, तो सरणी a[2, 3] मेमोरी में a[0, 0], a[0, 1]... के रूप में स्थित तत्व हैं?

+0

आप तुलनात्मक तुलना की तुलना नहीं कर रहे हैं। आपका सी सरणी वास्तव में एक 2 डी सरणी नहीं है, यह सरणी की एक सरणी है। आप सी # में भी ऐसा ही कर सकते हैं: उदा। 'int [] []', नहीं 'int [,] '। – svick

+0

@svick आप बस सादा गलत हैं। –

+0

नहीं, इस प्रकार सी में 2 डी सरणी लागू की गई हैं। वे केवल 1-आयामी सरणी हैं जिनके तत्व स्वयं 1-आयामी सरणी हैं। औपचारिक परिभाषा और धारणा को छोड़कर –

उत्तर

14

CLI specification, खंड 8.9.1, राज्यों:

सरणी तत्वों पंक्ति-प्रमुख आदेश (में सरणी वस्तु के भीतर बाहर रखी किया जाएगा यानी, सबसे दायीं ओर सरणी आयाम के साथ जुड़े तत्वों की जाएगी सबसे कम से कम सूचकांक से संगत रूप से रखा गया है)। प्रत्येक सरणी तत्व के लिए आवंटित वास्तविक संग्रहण में प्लेटफ़ॉर्म-विशिष्ट पैडिंग शामिल हो सकता है।

तो जवाब है हां - आप पहली बार पहली पंक्ति के सभी तत्वों, तो दूसरी पंक्ति, आदि (के रूप में कल्पना का कहना है, इस पंक्ति-प्रमुख आदेश कहा जाता है) के सभी तत्वों का सामना करेंगे।

+1

में' * int [] 'के अनुरूप है, धन्यवाद, खुद को ढूंढने के लिए आलसी था! :) –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^