一个很基础的问题
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针
数组指针:a pointer to an array,即指向数组的指针
还要注意的是他们用法的区别,下面举例说明。
int* a[4] 指针数组 //本质是一个数组,数组的每个元素都是指针
表示:数组a中的元素都为int型指针
元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*
int (*a)[4] 数组指针 //本质是一个指针 ,指向数组的指针
表示:指向数组a的指针
元素表示:(*a)[i]
指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针
类型标识符 *函数名(参数表)
int *f(x,y);
函数指针是指向函数的指针变量,即本质是一个指针变量。
int (*f) (int x); /* 声明一个函数指针 */
f=func; /* 将func函数的首地址赋给指针f */
参考地址:
http://www.cnblogs.com/Romi/archive/2012/01/10/2317898.html
http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html