溫馨提示×

c#二維數(shù)組指針如何傳參數(shù)

c#
小億
94
2024-04-18 17:28:13
欄目: 編程語言

在C#中,二維數(shù)組其實(shí)是一個以數(shù)組為元素的數(shù)組,因此可以使用指針來傳遞二維數(shù)組參數(shù)。以下是一個示例代碼:

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();
                }
            }
        }
    }
}

在上面的示例中,我們定義了一個二維數(shù)組 arr,然后通過 fixed 關(guān)鍵字將其指針 p 固定在內(nèi)存中。然后通過指針的算術(shù)運(yùn)算訪問二維數(shù)組的元素,并打印出數(shù)組的內(nèi)容。

需要注意的是,在使用指針操作數(shù)組時,需要在代碼中添加 unsafe 關(guān)鍵字,因?yàn)檫@樣的代碼是不安全的,可能會導(dǎo)致內(nèi)存訪問越界等問題。

0