C语言 指针 一级指针二级指针的区别

一级指针

  • 不知道什么叫一级指针?其实就是我们平时定义的指针
  • 举例:
  int a =1;
  int* p = &a;
  //这里的指针就是一级指针 

二级指针

  • 如上面所说,指针变量是指变量的地址,而指针变量也是个变量,则它也有地址;
  • 则,指向指针变量的地址的指针叫做二级指针;
  • 举例:
int main()
{
  int a = 10;
  int* pa = &a;//一级指针
  int* *ppa = &pa;//二级指针
  • 既然一级指针有自己的地址,那么二级指针也是同样有自己的地址;
  • 则,指向二级指针的地址称为三级指针,就这样以此类推。。。
int a = 10;
int* pa = &a;
int* *ppa = &pa;
int***pppa = &ppa;//三级指针
  • 如第二个代码照片所示(等过段时间买个触控笔,照片形式不是很好,,)
    在这里插入图片描述
  • 接下来看代码更深刻的了解一下
#include <stdio.h>
int main()
{
  int a = 10;
  int* pa = &a;
  int* *ppa = &pa;
  printf("%d\n",**ppa);
  /* *ppa指向的是pa,
  则**ppa指向的就是a*/
  return 0;
}
  
  • 则输出结果就是a的值:10;
  • 如果我们再给**ppa赋值呢?结果又是多少?
#include <stdio.h>
int main()
{
  int a = 10;
  int* pa = &a;
  int* *ppa = &pa;
  **ppa = 30;//在这里重新给**ppa赋值
  printf("%d\n",**ppa);
  printf("%d\n",a);
  return 0;
}

自己可以在编译器上打,最终结果是多少呢?

30//因为最后给**ppa赋值为30,则结果也为30;
30//而**ppa指向的是变量a,则说明a的变量最终结果也为30;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

谦虚斯帕克

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

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

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

打赏作者

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

抵扣说明:

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

余额充值