指向指针的指针是指针链的一种形式,通常,指针包含变量的地址,当我们定义一个指向指针的指针时,第一个指针包含第二个指针的地址,该地址指向包含实际值的位置。这是通过在其名称前面放置一个额外的星号来完成的。如以下语句声明一个指向int类型的指针-
var ptr **int;
当指向指针目标值时,访问该值需要两次星号运算符,如以下示例所示-
package main import "fmt" func main() { var a int var ptr *int var pptr **int a=3000 /* 取var的地址 */ ptr=&a /* 使用运算符 & 的地址获取 ptr 的地址 */ pptr=&ptr /* take the value using pptr */ fmt.Printf("Value of a=%d\n", a ) fmt.Printf("Value available at *ptr=%d\n", *ptr ) fmt.Printf("Value available at **pptr=%d\n", **pptr) }
编译并执行上述代码后,将产生以下输出-
Value of var=3000 Value available at *ptr=3000 Value available at **pptr=3000
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)