指针的初识和解引用

让我们来 看一下以下的代码

int a=10;

int b=20;

int *p= &a;

*p=10;

p=&b;

*p=200;

p=&a;

int **pp=&p;

*pp=&a;

**pp=1000;

*pp=&b;

**pp=2000;

看到这样的代码是不是一脸的懵逼,现在让我们来看看他的每一句都是什么意思。

开始之前我们先了解一下指针和解引用。

指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(pointsto)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。当然这是官方语言,(通俗说;指针就是地址,可以通过它找到以它为地址的内存单元

解引用 "*"的作用是引用指针指向的变量值,引用其实就是引用该变量的地址,“解"就是把该地址对应的东西解开,解出来,就像打开一个包裹一样,那就是该变量的值了,所以称为"解引用”。

接下来我们来看看每一句都是什么意思。

int *p= &a;     //定义一个整型指针p 并且p指向了a的地址 (&取地址)

*p=10;        //解引用, 即 给a赋值10;

p=&b;        // p指向了 b的地址

*p=200;     //解引用, 即 给b赋值200;

p=&a;      // p指向了a的地址

int **pp=&p;    // 定义一个整型的指针 pp 并且pp 指向了 p的地址

*pp=&a;        // pp指向了p的地址  p指向了a的地址 即pp指向了a的地址

**pp=1000;     //解引用,即给a赋值1000;

*pp=&b;     //  pp指向了p的地址  p指向了b的地址 即pp指向了b的地址

**pp=2000;   //解引用, 即 给b赋值1000;

这里我们需要注意一下  在定义是*p  代表的是,定义一个指针,而其他的时间都是 解引用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值