从go语言中找&和*区别详解

作者:梅老板000 时间:2024-04-30 10:04:50 

*和&的区别 :& 是取地址符号 , 即取得某个变量的地址 , 如 ; &a*是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 . 从代码中验证 :

先构建一个Rect类型 :

从go语言中找&和*区别详解 

1. &是取地址符号, 取到Rect类型对象的地址

从go语言中找&和*区别详解 

2. *可以表示一个变量是指针类型(r是一个指针变量):

从go语言中找&和*区别详解 

3.*也可以表示指针类型变量所指向的存储单元 ,也就是这个地址所指向的值

从go语言中找&和*区别详解 

4.查看这个指针变量的地址 , 基本数据类型直接打印地址

从go语言中找&和*区别详解

摘自其他博客 :

经常会见到: p . *p , &p 三个符号
p是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%p来输出的话,它将是一个16进制数。而*p表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。
而我们知道,&是取地址运算符,&p就是取指针p的地址。等会,怎么又来了个地址,它到底和p有什么区别?区别在于,指针p同时也是个变量,既然是变量,编译器肯定要为其分配内存地址,就像程序中定义了一个int型的变量i,编译器要为其分配一块内存空间一样。而&p就表示编译器为变量p分配的内存地址,而因为p是一个指针变量,这种特殊的身份注定了它要指向另外一个内存地址,程序员按照程序的需要让它指向一个内存地址,这个它指向的内存地址就用p表示。而且,p指向的地址中的内容就用*p表示。

来源:https://blog.csdn.net/sybnfkn040601/article/details/54614798

标签:go语言,&,
0
投稿

猜你喜欢

  • windows和linux安装mysql后启用日志管理功能的方法

    2024-01-16 07:39:14
  • 正则给header的冒号两边参数添加单引号(Python请求用)

    2022-10-07 13:59:59
  • Python+selenium 获取浏览器窗口坐标、句柄的方法

    2023-03-21 16:21:52
  • CentOS 6.5下安装Python 3.5.2(与Python2并存)

    2021-06-24 04:33:54
  • python使用webdriver爬取微信公众号

    2022-10-06 02:13:30
  • Python Matplotlib中使用plt.savefig存储图片的方法举例

    2021-11-19 14:08:55
  • Python random模块的使用示例

    2023-08-01 16:33:48
  • 千万级用户系统SQL调优实战分享

    2024-01-18 04:25:04
  • asp简单的仿图片验证码

    2008-03-12 11:54:00
  • Web前端应用十种常用技术

    2010-09-01 20:46:00
  • MySQL5.7 windows二进制安装教程

    2024-01-24 04:10:01
  • 如何把ACCESS转成SQL数据库

    2007-08-11 13:51:00
  • 将Django项目迁移到linux系统的详细步骤

    2021-02-11 02:13:09
  • python新手学习使用库

    2021-06-20 13:08:38
  • python3实现带多张图片、附件的邮件发送

    2023-05-11 06:51:10
  • MSSQL SERVER 2005 数学函数整理

    2024-01-20 23:37:17
  • python中的字符串占位符的"{0:2}"

    2021-04-28 20:23:39
  • Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】

    2024-01-21 15:16:21
  • Python爬虫分析微博热搜关键词的实现代码

    2022-11-29 16:13:44
  • MYSQL SET类型字段的SQL操作知识介绍

    2024-01-20 20:00:38
  • asp之家 网络编程 m.aspxhome.com