数组指针:
概念:数组指针是指指向数组的指针变量。数组指针也是一个变量,一般情况下指向数组首地址,也可以指向数组元素。
例: char str[] = "xian";
char *pstr;
pstr = str;
我用一串完整的代码来解释:
1 #include<stdio.h>
2 int main()
3 {
4 char str[] = "xian";
5 char *pstr;
6 pstr = str;
7 printf("str:%s\n",pstr);
8 }
指针数组:
概念:用于存储指针的数组;也可以这样说,指针数组的所有元素都是指针变量,他们必须具有相同的存储类型,必须指向相同的数据类型。
例: int *arry[3];
这就是一个指针数组,数组中共有3个指针元素。
下面,我用一段代码来说明指针数组里面的元素都是指针类型:
1 #include<stdio.h>
2 int main()
3 {
4 char *str[] = {"shanghai","guangzhou","beijing"}; //指针数组
5
6 printf("str[0]:%s \n",str[0]);
7 printf("str[1]:%s \n",str[1]);
8 printf("str[2]:%s \n",str[0]);
9
10 }
输出结果:
str[0]:shanghai
str[1]:guangzhou
str[2]:shanghai