1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| package main
import ( "fmt" )
/* 指针类型: var var_name * var-type 例: var ip * int // 指向整形的指针变量 var fp * float32 // 指向浮点型的指针变量
空指针:nil,指针的默认值为nil */
/* 指针数组:这是一个数组,变量类型是指针类型的 var p [3] *int */
/* 二级指针:指向指针的指针 var a int var p * int var pp ** int */ func main(){ var a = [] int {1,2 ,3,} var p [3] *int
for i := 0; i < len(a); i++{ p[i] = &a[i] } fmt.Println(a) fmt.Println(p) for i := 0; i < len(a); i++{ fmt.Print(*p[i], "=>", p[i], " ") }
fmt.Println("\n%") fmt.Printf("%%\n") fmt.Print("%\n") //(MISSING)%,发现没有后续动词,格式化输出会出现此问题
// 多级指针 var b int var bp * int var bpp ** int
b = 4 bp = &b bpp = & bp fmt.Println(b, bp, bpp) fmt.Println(*bp, *bpp) fmt.Println(**bpp) }
|