前面一片博客写了指针与数组 比较深入的理解了指针与数组之间的关系,指针与一维数组,指针与多位数组
本篇,深入理解一下 一个重要的概念,指针数组 与数组指针
指针数组,说白了是个数组,这个数组里的元素是指针。先贴一段代码
pab这个数组里有两个指针元素,分别是pab[0].pab[1],将a数组的首指针赋给pab[0],同理将b数组的首指针赋给pab[1],就是说pab[0],pab[1],a,b都是地址。(ps:地址和指针式一个意思)(上面的代码运行如果要让他运行完了不自动关闭,可以加一个头文件 #include <stdlib.h> 然后在return 0;前一行代码加 system("pause"); )
通过上面的介绍,可以明白什么是指针数组了,
下面再来说下,什么是 数组指针
例: (*pIntValue)[2]
可以看到,*和pIntValue是写在一起的,说明什么!说明pIntValue是个指针,后面还有个类似数组样子的[2],说明该指针指向含2个元素的一维数组
下面举个例子:
其实,数组指针------->>指向数组的指针,执行含有若干个元素的数组的指针。然后,说白了,这个指针其实就是二维数组的”行“。
通过上面的理解,对这个指针数组和数组指针有了初步的了解。我还会继续写博客,将动态分配二维数组的理解与大家分享
********************************参考c++从入门到精通的部分内容。