指针的简单记录

 例如以下代码,它的简单理解为:

int var;
int* ptr;
int** pptr;
var = 3000;
/* 获取 var 的地址 */
ptr = &var;
/* 使用运算符 & 获取 ptr 的地址 */
pptr = &ptr;
/* 使用 pptr 获取值 */
printf("var = %d\n", var);//3000
printf("var自身的地址:%d\n", &var);//9829104
printf("ptr的值:%d\n", ptr);//9829104
printf("*ptr = %d\n", *ptr);//3000
printf("**pptr = %d\n",**pptr);//3000

像&作用是取地址,这个 int* ptr,对于ptr它是一个指针变量,只能接受地址。

* 可以理解为取值的作用,*ptr取指针变量ptr指向的地址存放的值(3000)

**pptr可以先看成一个*pptr,此时得到的是ptr的值(ptr的值是var的地址),然后再看*ptr(其实相当于**pptr),此时得到的是var的数值3000。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值