写个程序复习一下函数指针操作:
#include <stdlib.h> #include <stdio.h> int add(int a, int b){ return a + b; } void populate_array(int *array, size_t arraySize, int (*getNextValue)(void)) { for (size_t i=0; i<arraySize; i++) array[i] = getNextValue(); } int getNextRandomValue(void) { return rand(); } int main(void) { int(*pAddFunc)(int, int) = & add; printf("%d ", pAddFunc(1900, 97)); int myarray[10]; populate_array(myarray, 10, getNextRandomValue); for(int i = 0; i < 10; i++) { printf("%d ", myarray[i]); } printf(" "); return 0; }
程序运行截图: