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