c#二维数组指针如何传参数

avatar
作者
筋斗云
阅读量:0

在C#中,二维数组其实是一个以数组为元素的数组,因此可以使用指针来传递二维数组参数。以下是一个示例代码:

using System;  class Program {     static void Main()     {         int[,] arr = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };          PrintArray(arr);     }      static void PrintArray(int[,] arr)     {         unsafe         {             fixed (int* p = &arr[0, 0])             {                 for (int i = 0; i < arr.GetLength(0); i++)                 {                     for (int j = 0; j < arr.GetLength(1); j++)                     {                         Console.Write(*(p + i * arr.GetLength(1) + j) + " ");                     }                     Console.WriteLine();                 }             }         }     } } 

在上面的示例中,我们定义了一个二维数组 arr,然后通过 fixed 关键字将其指针 p 固定在内存中。然后通过指针的算术运算访问二维数组的元素,并打印出数组的内容。

需要注意的是,在使用指针操作数组时,需要在代码中添加 unsafe 关键字,因为这样的代码是不安全的,可能会导致内存访问越界等问题。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!