指针数组与数组指针的使用
指针数组,顾名思义就是一个数组,它里面的元素是指针。例如 int *p[3],那么它的意思是数组p中可以
最多存储 3个元素,这三个元素都应该是int指针类型;
数组指针,它是指向一个数组的指针,它的指向是整个数组,当然它的绝对地址和数组首元素的地址相同
。但是区别在于数组指针指向一整个数组,而数组首元素只是一个元素。
例如: int (*p)[4],为一个指向数组的指针p,数组大小应为4。则p指向整个数组。
#include<stdio.h>
void main(void)
{
int (*p)[3];
int a[3] = {2,3,4};
int b[3] = {10,11,12};
p=&a; //p指向整个数组,故应该用&a;而a为数组a的首个元素的地址,故p=a是错的
printf("%d",**p); //*p为a的首个元素的地址,**a为首个元素的值
}