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

   2024-10-22 9790
核心提示:在C#中,二维数组其实是一个以数组为元素的数组,因此可以使用指针来传递二维数组参数。以下是一个示例代码:using System;class

在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 关键字,因为这样的代码是不安全的,可能会导致内存访问越界等问题。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号