栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

go 语言学习笔记③----指针

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go 语言学习笔记③----指针

文章目录

go 语言学习笔记③----指针

变量指针new函数传递

值传递引用传递

go 语言学习笔记③----指针

默认为uil(c语言中的NULL)

变量

1.内存(内容)
2.地址

a 内容
&a a的地址
类c语言

指针

声明var p *int 一个int类型的指针
*指针,指针所指向的内存地址的内容
eg:

package main

import "fmt"

func main() {
	var p *int
	a := 10
	p = &a
	*p = 6
	fmt.Println(*p)

}

注:不操作空指针

new

开辟新地址 (c语言中的malloc)
不同于c语言,需要free()去释放空间, go语言不用手动释放空间, 可以自动释放空间

package main

import "fmt"

func main() {
	var p *int
	p = new(int)
	*p = 666
	fmt.Println(*p)

}
函数传递 值传递

swap(a , b )

引用传递

swap(&a , &b)

package main

import "fmt"

func swap(a, b int) {
	a, b = b, a
}
func sw(a, b *int) {
	*a, *b = *b, *a
}

func main() {
	a, b := 1, 2
	swap(a, b)
	fmt.Println(a, b)
	sw(&a, &b)
	fmt.Println(a, b)

}

结果
1 2
2 1

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号