指针及使用陷阱
- 基本数据类型,变量存的就是值,也叫值类型
- 获取变量的地址,用&
- 比如: var num int, 获取 num 的地址:&num分析一下基本数据类型在内存的布局.
- 指针类型,指针变量存的是一个地址,这个地址指向的空间存的才是值
- 比如:var ptr *int = &num
- 举例说明:指针在内存的布局.
- 获取指针类型所指向的值,使用:*
- 比如:var ptr *int, 使用*ptr 获取 ptr 指向的值
- 案例演示1:
- 案例演示2:
- 写一个程序,获取一个 int 变量 num 的地址,并显示到终端
- 将 num 的地址赋给指针 ptr , 并通过 ptr 去修改 num 的值
- 图解:
- 练习案例:
- 指针的使用细节
- 值类型,都有对应的指针类型, 形式为 *数据类型
- 比如 int 的对应的指针就是 *int,
- float32对应的指针类型就是 *float32, 依次类推。
- 值类型包括:基本数据类型 int 系列, float 系列, bool, string 、数组和结构体 struct
- 值类型,都有对应的指针类型, 形式为 *数据类型