关于&取地址符或引用

取地址符 指针 详解 涵盖自己的理解 tmp是一个指针,它存储的是一个int类型变量的地址。如果你想要访问tmp所指向地址上的值,必须使用*tmp(解引用)。所以tmp本身并不是地址所指向的值,而是存储该地址的变量。要操作这个地址上的值,你需要解引用它。 阅读详情

1.概念

&既可以标识取地址,也可以标识引用。取地址后,变量里面存的就是另外变量的地址;引用,只是代表的别名,依旧是原来的变量,但是可以实现在函数内对变量的双向操作。一个变量可以有多个引用,但是一个引用只能对应一个变量。

2.区分与区别

&前面有变量类型的,则为引用,例如int&;没有则为取地址,例如int t=&a. 引用不占多余空间,只是名称替换;取地址,即指针则需要多一个空间来存放地址。因为引用不存在自己的独立地址,也就是必须依靠其他实际存在的变量存活,因此必须有非void的变量类型。

3.读法

(此部分为我独创,方便我记忆)

int& b=a;//读作 引用int类型b指向a
int* p=&a;//读作 指针int类型p指向a的地址
总结语法:【引用/指针】+【数据类型】+【变量名称】+指向……

4.几个例子

int a;int& b=a;//b是a的引用,b实际就是a
int a;int& b=a;int& c=b;//c是b的引用,b是a的引用,c实际还是a
int a;int* p=&a;//指针p指向a的地址,p是a的地址,*p是取出存储在地址(p)中的对应值,*p的值实际就是a
int a;int* p=&a;int* &p2=p;//p是a的地址,p2是p的引用,p2实际还是a的地址(这里可以理解为引用的类型为 整型指针类型)
int a;int *p=&a;int** pp=&p;//p是a的地址,pp是p的地址,*pp是p的值==a的地址,**pp是a的值(感觉在无限套娃哈哈哈)

5.其他

关于引用的更多用法

关于二级指针的更多内容

C指针 复习笔记2 指针的注意事项 1.void 可以定义变量 void *p;//p的类型为void *, 而void *指针类型,32为平台4字节 //p叫万能指针 p可以保存 任意一级指针 char ch; p = &ch;//类型:char * int num; p = #//类型:int * float f; p = &f;//类型:flaot * *p操作,需对p进行强制... 阅读详情

相关推荐

C语言中取地址符&做函数形参?—— 引用的讨论

取地址符&做函数形参? C语言强大且危险 引入这个问题花去了整整一天的研究。先看一段严蔚敏的《数据结构》中栈的例程:这里面的&S第一遍看的时候想当然的认为是取了SqStack结构体的S的地址,没有细想。然后又看到了这句。// platform: VC++6.0 Status Pop(SqStack &S, SElemType &e); //取地址符?我开始突然发现,这真的是取地址符吗,对照了我自

一只不会码代码的咸鱼 3万+

取地址符&和指针*的认识

指针和引用的异同及基本用法

icy_Long_xiao的博客 1万+

C++ 引用&和指针*和取地址符&的通俗浅层解释及涉及底层的复杂原理解释

C++ 引用&和指针*和取地址符&的通俗浅层解释及涉及底层的复杂原理解释通俗浅层解释底层复杂解释 通俗浅层解释 // An highlighted block int b = 5; int* btr = &b; /*这里的*表示声明一个int的指针 ,&为取址符表示取b的地址, =表示将b的地址赋值给了指针btr,所以btr的值是一串地址而不是b的值,而btr本身...

weixin_43557030的博客 612

详解C语言中&的使用(取地址符)

文章目录什么是取地址符使用方法探测&变量的类别指针变量赋值 什么是取地址符 顾名思义,就是获取当前变量的内存地址,想要获得那个变量的地址,就用&后面跟上那个变量。 使用方法 在输出的时候后面跟上变量名就行,看一下这个例子: #include <stdio.h> //头文件 #include <windows.h> struct player //...

1匹黑马 4万+

专有钉钉小程序(浙政钉)开发搭建流程总览

最近公司有一个项目要做浙政钉,让我来负责做。靠,我一脸懵,开发了两年多不知道浙政钉是啥,感觉我眼界还是低了。然后就去百度、同事问了一圈才知道就是个钉钉小程序嘛,然后发布到浙政钉上了。就搭建项目跑起来我都肥了很多事,中间走了很多坑。正好领导让我写《钉钉小程序前端开发流程》,这想着也写个博客吧。下面就是整个流程及我所遇到的坑!

m0_53910290的博客 6358

告别专业软件!用QGIS+GDAL免费搞定S-57电子海图,附全套符号库和样式文件

本文详细介绍了如何利用免费开源工具QGIS和GDAL处理S-57电子海图,包括数据转换、符号库配置和专业可视化方案。通过实战指南,用户无需依赖昂贵的商业软件,即可实现从S-57到SHP的转换及专业级海图制作,特别适合预算有限的个人和小型机构。

weixin_33701294的博客 391

C语言中取值符(*)与取地址符(&)

在刚开始接触的时候,我完全不怎么懂这两个运算符如何去用它,什么时候用,什么时候不用,我就只知道它的一些具体概念,并不懂如何去运用这两个运算符,经过几天的学习后,才懂的怎么去用这两个运算符。 (1)& 运算符 :用于取一个对象的地址 (2)* 运算符:作用于指针时表示访问指针所指向的对象 如下图: 它运行结果为: a20 &a0093F968 b0093F968 *b20 这个时候,看结果我们就会发现为什么&a与b为啥不一样的。 原因: 变量a 本质上代表一个存储单元。 处理器通过该

weixin_44548147的博客 2万+

逆向分析美团外卖mtgsig3.0签名算法:从抓包到算法还原实战

在移动应用开发与安全领域,API接口签名是保障数据传输完整性与身份验证的核心机制。其基本原理是通过特定的算法,将请求参数、时间戳等数据与密钥结合,生成唯一的签名串,服务器通过验证签名来识别请求的合法性。这项技术的核心价值在于防止数据篡改、重放攻击和未授权访问,是构建安全客户端-服务器通信的基石。在实际应用中,签名算法广泛应用于电商、社交、金融等各类App的接口保护场景。本文以美团外卖App的mtgsig3.0签名为具体案例,详细拆解了其生成逻辑。通过结合Frida动态调试与Jadx静态分析,文章深入探讨了如

weixin_29325515的博客 1250

& 取地址符的用法总结

转自百度文档 一种是按位与  1 & 2 = 0 一种是取地址 int* p = &a;  一种是声明引用,相当于定义变量别名:    int a = 3;   int& b = a; // b是a的引用,a,b是同一个变量 b = 4; // a也变化为4 int c = 2;   b = c; // 是赋值给b或a,而不是把b作为c的引用,引用一

gzhu_wzb 1万+

MobaXterm隧道配置详解:为PyCharm远程开发打通‘最后一公里’

本文详细解析了如何利用MobaXterm配置SSH隧道,实现PyCharm远程开发的高效连接。通过本地端口转发技术,开发者可以安全访问内网服务器,特别适用于需要通过跳板机的复杂网络环境。文章涵盖从基础配置到企业级运维的全套解决方案,包括性能优化、安全加固等实用技巧。

weixin_30566063的博客 506

FPGA时钟架构解密:从SRCC/MRCC到全局时钟树的实战指南

本文深入解析Xilinx 7系列FPGA时钟架构,从SRCC/MRCC引脚特性到全局时钟树设计,详细介绍了BUFG、BUFMR等关键组件的应用场景和优化策略。通过对比SRCC与MRCC的驱动范围及适用场景,提供低抖动时钟布线技巧和时钟域交叉(CDC)设计方法,帮助工程师构建高性能FPGA时钟系统。

weixin_29191081的博客 1486

【C++】引用,即变量的别名,一般用于函数参数或返回值 + &既可以作为取地址符,也可以用于定义引用

【C++】引用,即变量的别名,一般用于函数参数或返回值 + &既可以作为取地址符,也可以用于定义引用

m0_48086806的博客 688

Win10平台下QT6.9.0 OpenCV 4.10.0从入门到精通

我最近开发一个视觉项目,我们从0开始记录在windows 10下 用QT6.9+OpenCV 4.10.0搞定整个项目的开发过程。以抛砖引玉,大家共同进步。

fds111111的博客 1713

【软件安全】Understanding $ and & Symbols in GDB and C Memory Context-理解GDB和C内存环境中的$和&符号

GDB调试中的$和&符号解析摘要: $是GDB调试器的特殊符号前缀,用于引用寄存器值(如$rsp、$rbp)和调试变量(如$1表示第一条命令结果)。它相当于调试器内部的快捷标记系统。 &是C语言的取地址运算符,用于获取变量的内存地址(如&a返回变量存储位置)。两者常组合使用:print &a会返回地址并自动存入$1变量。 主要区别: $:调试器专用符号(寄存器/变量) &:编程语言运算符(获取内存地址) 其他关键符号: * 解引用运算符 @ 查看数组元素 / 格式化内

weixin_44174312的博客 1022

2023华为OD机试真题B卷 Python 实现【最长的元音子串长度】

定义当一个字符串只有元音字母(a,e,i,o,u,A,E,I,O,U)组成,称为元音字符串,现给定一个字符串,请找出其中最长的元音字符串,并返回其长度,如果找不到请返回0, 字符串中任意一个连续字符组成的子序列称为该字符串的子串

MISAYAONE的博客 903

基于Simulink的四足机器人楼梯攀爬仿真模型

构建一个基于Simulink的四足机器人楼梯攀爬仿真模型,旨在模拟四足机器人在面对楼梯等障碍时的运动控制和稳定性调整。以下是一个详细的步骤指南,帮助你从零开始创建这样一个仿真模型。

xiaoheshang_123的博客 247

关于指针和引用

qianxu接受的参数就是TreeNode*也是指针,这就对上了,要是传入&root那就是TreeNode**,就不对了,其次你要returnresult;&表示引用,时别名,因此输入原变量,但经过函数运算,哪怕不返回,main函数中a的值也会发生变换。*和&是一对,int*表示接受的是指针,是地址,因此传递时要加取地址符&用指针或者引用有什么好处,主要是可以减少内存占用,也可以返回多个参数等。前言:这是一个十分基础的内容,但我老忘,因此写下记录。C里面是没有引用的,但有解指针&。

skeete的博客 145

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C语言取地址符 `&` 极简教程

用快递柜比喻,一文讲清 C 语言取地址符 & 的用法。包含 scanf 传参、指针赋值两个最常用场景,新手友好,5 分钟上手。

2401_82419694的博客 425

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Go语言中 & 与 -:指针取址与解引用的完整解析

本文深入讲解 go 中 `&`(取地址符)和 `*`(解引用符)的本质区别与协同关系,结合 `json.decode` 等典型场景说明何时必须用 `&`、何时需声明 `*t` 类型,并通过可运行示例直观展示指针层级与内存语义。在 Go 编程中,& 和 * 是指针操作的一体两面,但初学者常混淆二者用途——它们并非“可互换的修复手段”,而是承担截然不同的语义角色:& 用于获取变量的内存地址,生成一个指针值;因此,&u 是必需的“取址”操作,而非随意添加的“语法糖”。

2401_83595681的博客 192

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

初识c语言指针

今天要编写的是有关c语言中的指针相关知识,作为初学者的我简单的学了一下有关指针的知识,目前发表有关基础的指针的含义,后期会再发布一篇详细的指针知识

m0_65704269的博客 270

指针的定义和使用

cout << "a的地址: " << &a <<endl;cout << "a的值为:" << a << endl;cout << "指针p为:" << *p <<endl;cout << "指针p为:" << p <<endl;////指针前加*代表解引用,找到指针指向的内存中的数据。指针前加*代表解引用,找到指针指向的内存中的数据。//指针定义的语法;//可以通过解引用的方式来找到指针指向的内存。可以通过解引用的方式来找到指针指向的内存。//让指针记录变量a的地址。//让指针记录变量a的地址。

2401_83237201的博客 15

C++ 的指针定义,内存,赋值方式,指针运算符

这里只是指针最基本的知识,指针一直到是很难得内容

qq_57162370的博客 411

Go_运算符

Go中运算符基础

一个人的博客 153

指针 指针 指针 指针 指针(1)

使用Printf分别输出pc,pc+1,pi,pi+1,通过结果可以看出pc+1与pc输出结构相差1,而pi与pi+1相差4,这是因为char*与int*取地址时所取地址大小的差异。& 取地址符,在指针使用中绕不开的一环,根据元素类型决定取出地址的大小,char*一个字节,short*两个字节,int*四个字节..........这个指针式特殊的,ta可以接受任何类型的地址,但是不可以进行任何指针的加减和解引用操作,如果需要使用,需要用到强制类型转换。根据元素类型不同,移动的大小也不同。

AbandonForce的博客 325

GoLang之取地址符&、指针

GoLang之取地址符&、指针

weixin_52690231的博客 3546

C++的引用 ‘&’

C++的引用

Serven的博客 1万+
上一篇: iPod nano 7代转存歌曲
下一篇: 操作系统-关于程序、进程与线程的概念及关系
Ayu阿予
博客等级 码龄5年 456粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ayu阿予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值