24小时热门版块排行榜    

查看: 2108  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mnz119

新虫 (正式写手)


[交流] 本人对指向指针的指针和指针数组的心得体会

指针是C/C++的精华所在也是重点难点所在,如果你掌握了指针数组,数组指针,指向指针的指针这些深层次的概念,那么说明你已经掌握了大部分指针的内涵,我从业余的角度谈谈我对指向指针的指针的总结,因为网上有关于操作数据是针对字符串类型的,我现在举例的是整形类型。仅供学习交流之用,如有误导,欢迎拍砖。
请看下面我编写的代码
//=========================================指向指针的指针练习(针对整型数据)
int main()
{
int b=2,c=3,d=4;
int *p1,*p2,*p3;
p1=&b;
p2=&c;
p3=&d;
int i;
int *num[]={p1,p2,p3};//num是一个指针数组,每一个元素是指向整形数据的指针类型,或者说每一个元素都是指针型数据,
                      //这种数据的值是地址,都是指向整形的的数据。因此其实num的每一个元素都是指向指针类型的指针
int **pt;   //定义这么一个变量,存放的是指针数组的元素,这个变量为指向指针的指针变量,可以指向值为地址的不同的变量(指针变量)

pt=num;
for(i=0;i<3;i++)
{
cout<<pt<<" "<<*pt<<" "<<**pt<<endl;//注意了,pt代表的是它所指向的变量的地址,也就是开辟的三个指针变量p1,p2,p3的在内存当中的地                      //址(至于代表哪个就要看当前的指向了)
pt++;                  //而*pt代表的是pt存储的变量的值,假如pt当前指向的变量为p1,那么*pt就是变量p1的值,而事先
                       //已经将b的地址给了p1这个变量(存放地址的变量),因此*pt其实就是b这个变量的地址(*pt等同于&b)
                       //对*pt在做一次指针运算*,也就是**pt,那么就使得*pt这个指针指向了b所对应的存储单元的内容也就是2.
}

return 0;
}

总结:
指向指针的指针,可以这样理解,首先指向指针的指针可以把他看成一种特殊的变量,既然是变量就可以存储不同的元素,比如整形变量int a,a可以存储2,3,4这种普通的整型数据,只要将值付给a就行了,但指向指针的指针所存的元素比较特殊,存放的元素一般是存放地址的指针变量,比如我有三个指针变量,int *p1,*p2,*p3,那么我可以定义一个特殊的变量 int **p,我可以将p1的地址付给p,也可以将p2的地址付给p.比如p=&p1,(类似于int a,int *t,t=&a),那么p就代表了他所指向的变量p1或者p2的地址,而p所指向的变量是一个指针变量,*p代表着这个指针变量里面的值(注意值实际上是一个地址),**p代表着它所指向的指针变量的内容(地址)所指向的存储单元的内容(数值)。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qiange0316

新虫 (初入文坛)



小木虫: 金币+0.5, 给个红包,谢谢回帖
解释的比较详细,谢谢!支持一下
8楼2014-07-21 15:24:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

散漫守望

银虫 (正式写手)



mnz119(金币+1): 谢谢参与
很好!

[ 发自小木虫客户端 ]
2楼2013-11-27 00:23:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mnz119(金币+1): 谢谢参与
看不懂

[ 发自小木虫客户端 ]
3楼2013-11-27 00:46:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lenovo001

禁虫 (正式写手)


mnz119(金币+1): 谢谢参与
本帖内容被屏蔽

4楼2013-11-27 04:53:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 wsYGJnURYvm6 2026-08-31 4/200 2026-09-01 06:07 by o3EMxHUAQDtS
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 EZ67DG6CvcKL 2026-08-31 5/250 2026-09-01 05:45 by o3EMxHUAQDtS
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 EZ67DG6CvcKL 2026-08-31 5/250 2026-09-01 05:43 by o3EMxHUAQDtS
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[文学芳草园] 梦想 +5 myrtle 2026-08-26 5/250 2026-08-31 14:40 by hahaboy
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见