cmsis 从指针地址获取值_C语言程序设计指针

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

上方注释内容是运行的结果,由此可见,像&作用是取地址,这个 int* ptr,对于ptr它是一个指针变量,只能接受地址。

而*我把它理解为取值的作用,像*ptr取谁的值呢?取指针变量ptr指向的地址存放的值(3000),而**pptr可以这样看,我们先看一个*pptr,此时得到的是ptr的值(ptr的值是var的地址),然后再看*ptr(其实相当于**pptr),此时得到的是var的数值3000。

看图应该最好理解了。

7ae7045b2c5e6e2ae128859dbbe17699.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值