int (*ap) [2];//该代码定义了一个指向包含有两个元素的数组的数组指针。
而如果一个数组的每一个元素都是指针,则这个数组是一个指针数组。定义指针数组的代码如下:
char *chararr[]=={"aa","li","baidu"}//该代码定义了一个指针数组并且对其初始化,chararr数组的每个元素都存放着一个字符指针。
总结:数组指针是一个指针变量,它指向一个数组。而指针数组是一个只包含指针元素的数组,它的元素可以指向相同类型的不同对象。
下面这个是数组指针的一个例子:
-
#include <iostream>
-
using namespace std;
-
-
int main()
-
{
-
int a[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
-
int *q=0;
-
int (*p)[5]; //数组指针
-
for(p=a;p<a+3;p++)//用p指向各行数组
-
{
-
for(q=*p;q<*p+5;q++)
-
cout << *q << "\t";
-
cout << endl;
- }
- return 0;
- }
-
lwp@linux:~/c++$ ./aa zhizhen
-
1 2 3 4 5
-
6 7 8 9 10
- 11 12 13 14 15