Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67718
  • 博文数量: 27
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 509
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-08 13:35
文章分类
文章存档

2013年(27)

我的朋友

分类: C/C++

2013-12-20 13:48:56

 
以下通过一些示例来进一步理解指针数组和数组指针:
示例一:
输出结果:
示例二:


技术参考:qxw7563.com/
运行结果:
示例三:
 
输出结果:
 
指针数组与二维数组:
 基于上面的实现,再来通过一个图来总结下指针数组与二维数组:
 
指针的指针:
 
下面通过一程序来直观的感受下:
运行:
 技术参考:yl5011.com/
下面通过一个实例来说明下指针的指针的使用场景:
运行结果:
上图中可以看到find函数使用了指针的指针,那为什么要用它呢,我用一级指针是否能达到同样的目的呢,来看下面的尝试:
编译运行:
这是为什么呢?下面来对其两种实现方式进行分析:
先分析一级指针的错误实现方式
要想通过形参来改变实参指针的地址,这时就得采用指针的指针的,这也就是为什么要用它的原因,下面接着来分析为啥用指针的指针能改变实参指针地址:
技术参考:
fun7462.com/
所以,通过指针的指针,就能改变指针本身的地址。
 
指针的指针注意点:
下面进行说明:
编译运行:
 
 
运行结果:
解释一下“ 
char** p = color;
 
 
所以,如果访问p[0]的内容,则会出错:
运行:
 
 
 
它对应的内存模型为:
输出:
但是下面这个得注意了:
运行:

文章部分参考资料:
tyc8798.com/
阅读(998) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~