1.
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针
数组指针:a pointer to an array,即指向数组的指针
- int* a[4] 指针数组
表示:数组a中的元素都为int型指针
元素表示:*a[i]和 *(a[i])是一样的,因为[]优先级高于*
- int (*a)[4] 数组指针
表示:指向数组a的指针
元素表示:(*a)[i]
2.
- 函数指针 本质上是一个指针 其类型为函数类型,即该指针指向函数, 最根本的属性 它是一个变量或者常量
比如:int (*p)(int) 这个是一个参数为int返回值也是int型的函数指针
- int func(int x); /* 声明一个函数 */
- int (*f) (int x); /* 声明一个函数指针 */
- f=func; /* 将func函数的首地址赋给指针f */
- 或者使用下面的方法将函数地址赋给函数指针:
- f = &func;
- 指针函数 其本质是一个函数 返回值为指针类型
比如: int *func(int a) 这个就是一个指针函数 其返回值为int *型