Go 語言指向指針的指針
如果一個指針變量存放的又是另一個指針變量的地址,則稱這個指針變量為指向指針的指針變量。
當定義一個指向指針的指針變量時,第一個指針存放第二個指針的地址,第二個指針存放變量的地址:
指向指針的指針變量聲明格式如下:
var ptr **int;
以上指向指針的指針變量為整型。
訪問指向指針的指針變量值需要使用兩個* 號,如下所示:
package main import "fmt" func main() { var a int var ptr *int var pptr **int a = 3000 /* 指针 ptr 地址 */ ptr = &a /* 指向指针 ptr 地址 */ pptr = &ptr /* 获取 pptr 的值 */ fmt.Printf("变量 a = %d\n", a ) fmt.Printf("指针变量 *ptr = %d\n", *ptr ) fmt.Printf("指向指针的指针变量 **pptr = %d\n", **pptr) }
以上實例執行輸出結果為:
变量 a = 3000 指针变量 *ptr = 3000 指向指针的指针变量 **pptr = 3000