如何在 C# 中使用指针符号访问数组的元素?
在 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
现在让我们了解一下上述程序。
数组包含 10 个 int 类型的元素。指针 ptr 使用 fixed 关键字指向数组的开头。然后使用 for 循环显示所有数组值。其代码片段如下所示 −
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)); }
广告