指针介绍

2019-12-12  本文已影响0人  领带衬有黄金

1. 介绍指针

指针 变量存的是一个地址,这个地址指向的空间存的才是值
例如:var ptr *int = &num

2. 内存地址

2.1 一般类型

一般类型

2.2 指针类型

指针类型

3. 操作指针相关得符号

3.1 声明指针

var num int = 10
var ptr *int = &num

3.2 取出指针数据

*ptr

3.3 查看指针内存

&ptr

4. 值类型和引用类型

4.1 值类型

基本数据类型 int 系列,float系列,bool,string 、数组 结构体struct

4.2 值类型特点

变量直接存储值,内存通常在栈中分配

4.3 示意图

值类型

4.4 引用类型

指针、slice切片、map、管道chan、interface

4.5 特点

变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆上分配,
没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收。

4.6 示意图

引用类型

注意:堆栈不一定装载固定的数据,逃逸分析会发生特殊分配。

上一篇下一篇

猜你喜欢

热点阅读