函数指针数组
数组是一个存放相同类型数据的存储空间,那要是把函数的地址存放到一个数组中,那这个数组就叫函数指针数组。
int (*parr[10])();
回调函数
通过函数指针调用的函数。
qsort——quick sort——库函数——快速排序
void(void *base,size_t num,size_t width,int(*cmp)(const void*e1,const void*e2));
第一个参数:待排序数组的首元素地址
第二个参数:待排序数组的元素个数
第三个参数:待排序数组的每个元素的大小——单位是字节
第四个参数:是函数指针,比较两个元素的送用函数的地址——这个函数使用者自己实现;函数指针的两个参数是:待比较的两个元素的地址
void* 类型的指针可以接收任意类型的地址,但不能进行解引用操作
比较两个字符串不能直接用<>=来比较,应该用strcmp函数,头文件:#include<string.h>
strcmp(str1,str2);
汇总:
指针数组:int* arr[10];
数组数组:int* (*pa)[10] = &arr;
函数指针:int (*padd)( int , int ) = add;
函数指针数组:int (*parr[5])( int , int )
指向函数指针数组的指针:int(*(*pparr)[5])(int,int) = &arr;