高级指针

指针数组 :
  指针数组是数组,是一个存放指针的数组,例如:int *arr1[10]、
char *arr2[4]、char **arr3[5].

数组指针 :
  数组指针是指针。是指向数组的指针,我们已经熟悉了很多的指针,
  例如: int* pint:能够指向整形的数据的指针
  float* pf:能够指向浮点型数据的指针
  int(*p)[10]:数组指针,在这里,之所以能够判定他为数组指针是因为圆括号改变了和p结合的符号的优先级,先和*结合在[]结合,所以先定义成指 针,在定义成数组


函数指针 :
  函数指针变量:保存函数地址的变量
  函数名通常代表了函数的地址,函数指针是用来保存函数地址的。
  例如:void (*pfun1)()  函数指针
  函数指针不同于函数的声明: void *pfun2() 为 函数的声明




函数指针数组 :
  数组是一个存放相同类型的数据的存储空间,把函数的地址存放到一个数组中,把这个数组就叫做函数指针数组
  函数指针数组的定义:
  int (*p[10])();




指向函数指针数组的指针:
  指向函数指针数组的指针是一个指针,指针指向一个数组,数组的元素都是函数指针。
定义方式:
  void (*(*p)[10])(const char*)
  顺序:定义一个函数指针,*p
函数指针的数组*p[10]
函数指针的数组的指针:(*(*p)[10])

猜你喜欢

转载自blog.csdn.net/sd116460/article/details/80389425
今日推荐