指標(Pointer)是所有 C 語言使用者最熟悉的功能與特性,而 Zig 也延續了這種低階卻強大的記憶體操作能力。
指標,是一個指向數值的記憶體位置,不實際擁有該數值,只是該數值的一個參考。在 C 和 Zig 這樣充滿低階操作的語言中,這種操作記憶體的能力很重要。
基本
Zig 的指標用 &T 取址(參考),用 T.* 取值(解參考)。
修改性
如果原數值是 var,則可以透過解參考指標修改原始數值。如果指標本身是 var,則可以重新指向其它位置。也就是 C 中的 int *const ptr(常數的指標:不能重新指向,但可以修改指向的數值) 和 const int *ptr(指向常數的指標:可以重新指向、不能修改指向的數值) 的差別。當然,如果原數值和指標本身都是 const,那就是指標本身和原數值都不能修改。
留言可能不會立即顯示。若過了幾天仍未出現,請 Email 聯繫:)