C# में पॉइंटर्स के उपयोग के लिए unsafe मॉडिफायर की आवश्यकता होती है। साथ ही fixed कीवर्ड का उपयोग करके पॉइंटर्स का उपयोग करके सरणी तत्वों तक पहुंचा जा सकता है। ऐसा इसलिए है क्योंकि सरणी और पॉइंटर डेटा प्रकार समान नहीं हैं। उदाहरण के लिए: डेटा प्रकार int[] int* के समान नहीं है।
पॉइंटर्स का उपयोग करके सरणी तत्वों तक पहुंच को प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है।
उदाहरण
using System;
namespace PointerDemo {
class Example {
public unsafe static void Main() {
int[] array = {55, 23, 90, 76, 9, 57, 18, 89, 23, 5};
int n = array.Length;
fixed(int *ptr = array)
for ( int i = 0; i < n; i++) {
Console.WriteLine("array[{0}] = {1}", i, *(ptr + i));
}
}
}
}
आउटपुट
उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है।
array[0] = 55 array[1] = 23 array[2] = 90 array[3] = 76 array[4] = 9 array[5] = 57 array[6] = 18 array[7] = 89 array[8] = 23 array[9] = 5
अब आइए उपरोक्त प्रोग्राम को समझते हैं।
सरणी में int प्रकार के 10 मान होते हैं। पॉइंटर ptr fixed कीवर्ड का उपयोग करके सरणी की शुरुआत की ओर इंगित करता है। फिर फॉर लूप का उपयोग करके सभी सरणी मान प्रदर्शित किए जाते हैं। इसके लिए कोड स्निपेट निम्नलिखित है -
int[] array = {55, 23, 90, 76, 9, 57, 18, 89, 23, 5};
int n = array.Length;
fixed(int *ptr = array)
for ( int i = 0; i < n; i++) {
Console.WriteLine("array[{0}] = {1}", i, *(ptr + i));
}