七叶笔记 » golang编程 » golang2021数据格式(78)指针变量

golang2021数据格式(78)指针变量

现在已经知道怎样获取变量在内存中的地址,但是如果想将获取的地址进行保存,应该怎样做呢?

可以通过指针变量来存储,所谓的指针变量:就是用来存储任何一个值的内存地址。

指针变量的定义如下:

指针变量p的定义是通过 *这个符号来定义,指针变量p的类型为*int, 表示存储的是一个整型变量的地址。

如果指针变量p 存储的是一个字符串类型变量的地址,那么指针变量p的类型为*string

p=&i :该行代码的意思是,将变量i的地址取出来,并且赋值给指针变量p.  也就是指针变量p指向了变量i的存储单元。

可以通过如下图来表示:

在以上图中,一定要注意:指针变量p存储的是变量i的地址。

大家可以思考一个问题:

既然指针变量p指向了变量i的存储单元,那么是否可以通过指针变量p,来操作变量i中存储的数据?

答案是可以的,具体操作方式如下:

注意:在使用指针变量p来修改变量i的值的时候,前面一定要加上*.(通过指针访问目标对象)

现在打印变量i的值已经有100变为80.

当然,也可以通过指针变量p来输出,变量i中的值,输出的方式如下所示:

所以,*p的作用就是根据存储的变量的地址,来操作变量的存储单元(包括输出变量存储单元中的值,和对值进行修改)

相关文章