go语言之指针

package main

import "fmt"
//指针
//go语言的指针是非常容易学习的,比c中容易很多,他可以更简单的执行一些任务
//与变量类型,使用前需要定义



func test18_1()  {
	var a int
	a = 10
	b := 10
	fmt.Println(a)
	fmt.Println(&a,&b)
	//使用&符号可以打印变量a的内存地址


	//申明一个普通的变量
	var c int
	c = 30

	//申明一个指针变量,一个指针变量的值就是他所指向的变量的内存的地址
	var p *int
	p = &c

	//%x是表示16进制
	fmt.Printf("c的内存地址为%x\n",&c)
	fmt.Printf("p的值为%x\n",p)
	fmt.Printf("p的内存地址为%x\n",&p)


	//获取指针指向的内存地址的值
	fmt.Printf("p的内存地址指向的值%d\n",*p)


	//通过指针修改变量的值的练习

	var num int
	num = 10
	fmt.Println(num)
	fmt.Println(&num)

	var ptr *int
	ptr = &num

	*ptr = 20

	fmt.Println(num)



	var ptr2 *int

	//如果一个指针没有指向任何变量,则他的值为nil
	fmt.Println(ptr2)
	//<nil>
}

func main() {
	test18_1()
	
}

  

猜你喜欢

转载自www.cnblogs.com/bainianminguo/p/10854162.html