// 函数指针 // 应用场景: 函数回调 // 函数指针的表示: int (*函数指针名)(形参类型列表) #include void callback(int item, int index) { printf("%d->%d\n", index, item); } void callback2(int item, int index) { printf("item %d->%d\n", index, item); } // void (*func)(int, int) 表示函数指针,形参的函数名为 func void forEach(int a[], int size, void (*func)(int, int)) { for (int i = 0; i < size; i++) func(a[i], i); // 回调函数 } int main(int argc, char const *argv[]) { int arr[] = {3, 2, 1, 5, 4}; int size = sizeof(arr) / sizeof(arr[0]); forEach(arr, size, callback2); // callback2 将存储此函数的空间地址给 func return 0; }