共用方式為


如何:遞增和遞減指標 (C# 程式設計手冊)

使用遞增和遞減運算子 (++ 和 --),可以藉由 sizeof (pointer-type) 變更指標型別 * 指標的位置。 遞增和遞減運算式的格式如下:

++p;
p++;
--p;
p--;

遞增和遞減運算子可以套用於型別 void* 以外任何型別的指標。

將遞增運算子套用至 pointer-type 型別指標時,會將 sizeof (pointer-type) 加入包含在指標變數中的位址。

將遞減運算子套用至 pointer-type 型別指標時,則會將 sizeof (pointer-type) 從指標變數包含的位址中減去。

當作業造成指標定義域溢位時,不會產生例外狀況,而且結果會視實作情況而定。

範例

在這個範例中,您會依 int 的大小遞增指標,以逐步執行陣列。 陣列元素的位址和內容會隨著每個步驟顯示。

// compile with: /unsafe
class IncrDecr
{
    unsafe static void Main()
    {
        int[] numbers = {0,1,2,3,4};

        // Assign the array address to the pointer: 
        fixed (int* p1 = numbers)
        {
            // Step through the array elements: 
            for(int* p2=p1; p2<p1+numbers.Length; p2++)
            {
                System.Console.WriteLine("Value:{0} @ Address:{1}", *p2, (long)p2);
            }
        }
    }
}
  

請參閱

參考

指標運算式 (C# 程式設計手冊)

C# 運算子

管理指標 (C# 程式設計手冊)

指標類型 (C# 程式設計手冊)

unsafe (C# 參考)

fixed 陳述式 (C# 參考)

stackalloc (C# 參考)

概念

C# 程式設計手冊

其他資源

類型 (C# 參考)