&与*的区别

本文详细介绍了C++编程中&和*的区别及其作用。&作为取地址符,用于获取变量的内存地址,而*则用于通过地址获取变量的值。文中通过实例解释了如何使用这两个操作符进行指针操作,并阐述了它们在位运算中的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++入门篇:&与*的区别

&的作用:
&:在C++中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。

&后跟一个变量。每个变量对应一个存储空间块。每个存储空间都有一个数字,即地址,&变量名表示取出该代码,而变量名表示取出该编号对应的存储空间中的值。
列如:
int a=3;(先定义一个变量a,a有一个存储空间块,我们让它的值为3,即空间块里面的值为3)
int &b=a;(这时候,&b可以看做一个整体,它指向a 的内存地址,b就是a的引用,即b=a=3)

*的作用:

系统将在内存中分配一个空间,* a的值是变量a的值;定义一个指向整数数据的指针,效果与&相反,它根据变量的地址获取变量的值,编译时给它分配一个地址,指针指向整数数据。

如图:

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值