指向指针的指针——彻底搞定c指针

指向指针的指针——彻底搞定c指针

ID:14158018

大小:50.00 KB

页数:5页

时间:2018-07-26

指向指针的指针——彻底搞定c指针_第1页
指向指针的指针——彻底搞定c指针_第2页
指向指针的指针——彻底搞定c指针_第3页
指向指针的指针——彻底搞定c指针_第4页
指向指针的指针——彻底搞定c指针_第5页
资源描述:

《指向指针的指针——彻底搞定c指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、彻底搞定C指针---指向指针的指针彻底搞定C指针---指向指针的指针一.回顾指针概念:今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧!当我们程序如下申明变量:shortinti;chara;shortint*pi;程序会在内存某地址空间上为各变量开辟空间,如下图所示。内存地址→6    7      8    9    10    11    12    13    14    15-------------------------------------------------------------------------------------…

2、  

3、    

4、      

5、      

6、      

7、      

8、      

9、      

10、      

11、      

12、    -------------------------------------------------------------------------------------    

13、shortinti

14、chara

15、      

16、shortint*pi

17、图中所示中可看出:i变量在内存地址5的位置,占两个字节。a变量在内存地址7的位置,占一个字节。pi变量在内存地址9的位置,占两个字节。(注:pi是指针,我这里指针的宽度只有两个字节,32位系统是四个字节

18、)接下来如下赋值:i=50;pi=&i;经过上在两句的赋值,变量的内存映象如下:内存地址→6    7      8    9    10    11    12    13      14    15--------------------------------------------------------------------------------------…  

19、    50      

20、      

21、      

22、    6        

23、      

24、      

25、      

26、    -------------------------------------

27、-------------------------------------------------    

28、shortinti

29、chara

30、      

31、shortint*pi

32、看到没有:短整型指针变量pi的值为6,它就是I变量的内存起始地址。所以,这时当我们对*pi进行读写操作时,其实就是对i变量的读写操作。如:*pi=5;  //就是等价于I=5;你可以回看本系列的第二篇,那里有更加详细的解说。  二.指针的地址与指向另一指针地址的指针在上一节中,我们看到,指针变量本身与其它变量一样也是在某个内存地址中的,如pi的内存起始地址是10。同样的,我们也可能让某个指针指向这个地址。看

33、下面代码:shortint**ppi;    //这是一个指向指针的指针,注意有两个*号ppi=π  第一句:shortint**ppi;——申明了一个指针变量ppi,这个ppi是用来存储(或称指向)一个shortint*类型指针变量的地址。第二句:&pi那就是取pi的地址,ppi=π就是把pi的地址赋给了ppi。即将地址值10赋值给ppi。如下图:内存地址→6    7      8    9    10    11    12    13      14    15---------------------------------------------------

34、---------------------------------…  

35、    50    

36、      

37、      

38、      6      

39、      10      

40、      

41、    ------------------------------------------------------------------------------------    

42、shortinti

43、chara

44、      

45、shortint*pi

46、shortint**ppi

47、从图中看出,指针变量ppi的内容就是指针变量pi的起始地址。于是……ppi的值是多少呢?——10。*ppi的

48、值是多少呢?——6,即pi的值。**ppi的值是多少呢?——50,即I的值,也是*pi的值。呵呵!不用我说太多了,我相信你应明白这种指针了吧!  三.一个应用实例1.设计一个函数:voidfind1(chararray[],charsearch,char*pi)要求:这个函数参数中的数组array是以0值为结束的字符串,要求在字符串array中查找字符是参数search里的字符。如果找到,函数通过第三个参数(pa)返回值为array字符串中第一个找到的字符的地址。如果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。