नीचे दिया गया कोड दिखाता है कि char[,]
सरणी को एक सूचक में कैसे परिवर्तित करें। यह भी दर्शाता है कि सरणी में वर्ण कैसे लिखा जा सकता है और सूचक के माध्यम से पुनर्प्राप्त किया जा सकता है। आप पॉइंटर का उपयोग करके भी लिख सकते हैं और सरणी का उपयोग करके पढ़ सकते हैं। यह वही है, क्योंकि यह एक ही डेटा का संदर्भ देता है।
char[,] twoD = new char[2, 2];
// Store characters in a two-dimensional array
twoD[0, 0] = 'a';
twoD[0, 1] = 'b';
twoD[1, 0] = 'c';
twoD[1, 1] = 'd';
// Convert to pointer
fixed (char* ptr = twoD)
{
// Access characters throught the pointer
char ch0 = ptr[0]; // gets the character 'a'
char ch1 = ptr[1]; // gets the character 'b'
char ch2 = ptr[2]; // gets the character 'c'
char ch3 = ptr[3]; // gets the character 'd'
}
अधिकांश भाषाओं में 2 आयामी सरणी ऐसे तरीके से संग्रहित नहीं होती हैं जो char ** के साथ संगत है। मुझे सी # के कार्यान्वयन के बारे में निश्चित नहीं है, लेकिन मुझे संदेह होगा कि 2 डी सरणी सिर्फ 'x * y' की एक संगत ब्लॉक के रूप में संग्रहीत है, जो एक char * के बराबर होगी। –
@ बॉबी सैकैमनो आप कमाल हैं: डी मुझे char [,] p = new char [2, 2] का उपयोग करना पड़ा; पी [0, 0] = '1'; पी [0, 1] = '2'; पी [1, 0] = '3'; पी [1, 1] = '4'; निश्चित (char * s = p) और यह काम करता है। – alokkoolol123
@bobby आप रात को इसे उत्तर के रूप में जोड़ना चाहते हैं। अन्यथा ओपी ऐसा कर सकता था। –