指针的指针
如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。
var ptr **int;
package mainimport "fmt"func main() { var a int var ptr *int var pptr **int a = 3000 ptr = &a pptr = &ptr fmt.Printf("变量 a = %dn", a ) fmt.Printf("指针变量 *ptr = %dn", *ptr ) fmt.Printf("指向指针的指针变量 **pptr = %dn", **pptr)}结果
变量 a = 3000指针变量 *ptr = 3000指向指针的指针变量 **pptr = 3000
指针作为函数参数
package mainimport "fmt"func main() { var a int = 100 var b int= 200 fmt.Printf("交换前 a 的值 : %dn", a ) fmt.Printf("交换前 b 的值 : %dn", b ) swap(&a, &b); fmt.Printf("交换后 a 的值 : %dn", a ) fmt.Printf("交换后 b 的值 : %dn", b )}func swap(x *int, y *int) { var temp int temp = *x *x = *y *y = temp }结果
交换前 a 的值 : 100交换前 b 的值 : 200交换后 a 的值 : 200交换后 b 的值 : 100



