指针数组和数组指针,指针函数和函数指针

 

 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 *型

 

posted @ 2016-05-16 11:01  芬乐  阅读(211)  评论(0编辑  收藏  举报