一级指针和二级指针

本文介绍了C++中的一级指针(指向变量值)和二级指针(指向一级指针地址)的概念,重点讲解了它们的形式、解释和作用,特别是二级指针在函数参数中的使用,以及一级指针与实参的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一级指针

形式:int a = 2;  int *p = &a;

解释:

        int*p = &a表示一级指针p指向变量a的值。此时一级指针p存放的是a的地址,*p解引用是a的值。

作用:

        c++中随处可见。不多言。

二级指针

形式:int a = 2; int *p = &a; int **pp = &p;

解释:

        一级指针解释同上,对于二级指针pp的表达式int **pp = &p,表示二级指针pp指向一级指针p的地址,此时二级指针pp存放的是一级指针p的地址,*pp是一级指针指向的a地址。

作用:

        二级指针大多用于函数的形参,目的是为了存放一级指针的地址(注意区分一级指针自己的地址和一级指针存放的地址的区别)。如果在函数中拥有存放一级指针地址的二级指针pp,此时就可以对二级指针解引用获取一级指针的地址(*pp),此时就可以修改一级指针p的指向,这个指向在离开函数后仍然保留。

        如果函数形参是一级指针,要改变一级指针的指向只可以对指针赋值一个地址,如:

(p和p1都是一级指针且指向不同)

p = p1;

此时可以改变一级指针p的指向,但是在函数中,这个指针p是形参,不是真正的实参,离开函数后实参p指向并没有变化。

参考链接:二级指针的作用详解-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值