指针
指针值类型有
- int系列
- float系列
- bool
- string
- 数组
- 结构体struct
demo01
package main
import "fmt" //引入一个包 'fmt'
func main() {
var num1 int = 99
//num1的内存地址,&num1
fmt.Println("num1的内存地址:",&num1)
num1=200
fmt.Println("num1的内存地址:",&num1)
}


demo02
package main
import "fmt" //引入一个包 'fmt'
func main() {
var num1 int = 99
//num1的内存地址,&num1
fmt.Println("num1的内存地址:",&num1)
//指针变量num2
//1.num2的类型*int
//2.num2的值&num1
var num2 *int = &num1
fmt.Printf("num2=%v\n",num2)
fmt.Println("num2的内存地址:",&num2)
}


demo03
package main
import "fmt" //引入一个包 'fmt'
func main() {
var num1 int = 99
//num1的内存地址,&num1
fmt.Println("num1的内存地址:",&num1)
//指针变量num2
//1.num2的类型*int
//2.num2的值&num1
var num2 *int = &num1
fmt.Printf("num2=%v\n",num2)
fmt.Println("num2的内存地址:",&num2)
//取出指针里内存地址指向的值
fmt.Printf("num2指针指向的值%v\n",*num2)
}


demo04
package main
import "fmt" //引入一个包 'fmt'
func main() {
var num1 int = 199
//num1的内存地址,&num1
fmt.Printf("num1的值位%v\n",num1)
fmt.Println("num1的内存地址:",&num1)
//指针变量num2
//1.num2的类型*int
//2.num2的值&num1
var num2 *int = &num1
fmt.Printf("num2=%v\n",num2)
fmt.Println("num2的内存地址:",&num2)
//取出指针里内存地址指向的值
fmt.Printf("num2指针指向的值%v\n",*num2)
//修改指针的值,num1也会发生修改
*num2 = 999
fmt.Printf("num2指针指向的值%v\n",*num2)
fmt.Printf("num1的值位%v\n",num1)
}


demo05
package main
import "fmt" //引入一个包 'fmt'
func main() {
var num1 int = 199
var num2 int = 299
var ptr * int
ptr = &num1
*ptr = 100
ptr = &num2
*ptr = 200
fmt.Printf("num1=%v,num2=%v,ptr=%v",num1,num2,*ptr)
}



被折叠的 条评论
为什么被折叠?



