指针数组VS数组指针
这两个词乍看没啥区别,可是仔细想想,根据咱中国人的习惯,放在前面的一般都是形容词,所以在这两个词语中加个“的”,那就显得明了了,即“指针的数组”vs“数组的指针”
指针数组
指针数组,即指针的数组,指的是一个数组,它的每一项都是指针型变量
#include <stdio.h>
int main()
{ int a = 10;
int b = 11;
int c = 15;
int d = 110;
int pointerArray[]={&a,&b,&c,&d};
printf("a 的地址是:%p\n",pointerArray[0]);
printf("b 的地址是:%p\n",pointerArray[1]);
printf("c 的地址是:%p\n",pointerArray[2]);
printf("d 的地址是:%p\n",pointerArray[3]);
return 0;
}
数组指针
即数组的指针,表示的是一个指针类型的变量,这个指针变量指向的是一个数组。
示例:
#include <stdio.h>
int main()
{ int i;
int array[5] ;
for(i=0;i<5;i++){
array[i] = i+1;
printf("array[%d] = %d\n",i,array[i]);
}
printf("******************************************\n");
int j;
int* parray;
parray = &array[0];
for(j=0;j<5;j++){
printf("parray[%d] = %d\n",j,*parray++);
}
return 0;
}