指针和指针变量的区别


首先引入一些概念

内存

内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小都是一个字节
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址

为什么存在地址

为了提高效率,快速标识与定位。


左值与右值

空间 对应 左值

例:(对a来说)
a = 20;
//当把值赋给a时,是给a的空间写入20。

内容 对应 右值
例:(对a来说)
b = a;
//把a的内容赋给b。


指针和指针变量

什么是指针

指针就是地址地址就是指针

什么是指针变量

指针变量是变量。定义一个指针变量,是在内存中开辟一个空间,该空间里面存放地址。

如何使用

指针更多强调的是内容(对应右值),指针变量更多强调的是空间(对应左值)。判断一个指针和一个指针变量要通过判断它是左值还是右值

    int *p = &a;  //定义了指针变量p
    p = &b;  //将b的地址放在p的空间
    int *q = p;  //定义了指针变量q,把p的内容(地址)给了q(空间)

大部分使用的都是指针变量,但是书中经常简称定义一个指针,这种说法并没有错,这时通过上下文,通过左值和右值进行判断。

指针和指针变量不一样,严格来说,定义一个指针是个错误的说法。但是,在日常生活中,还是将指针和指针变量混在一起使用,因为大部分人和书将指针和指针变量混在一起。既可以说定义一个指针,也可以说定义一个指针变量,它到底是什么需要自己判断。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

bruin_du

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

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

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

打赏作者

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

抵扣说明:

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

余额充值