本案例运用函数指针去调用不同函数,代码简单易懂,让你快速撑握C语言函数指针的使用方法,具体代码如下:
#include <stdio.h> //对数组每个数加1 void addOne(int *a,int n){ for(int i=0;i<n;i++) ++a[i]; } //对数组每个数加2 void addTwo(int *a,int n){ for(int i=0;i<n;i++) a[i]+=2; } int main( void ) { int a[]={1,2,3,4,5,6,7,8,9,10}; printf("原始a[]:"); for(int i=0;i<10;i++) printf("%d ",a[i]); //定义函数指针 void (*pf)(int*,int); //函数指针指向addOne; pf=addOne; //调用函数addOne(); (*pf)(a,10); printf(" 调用addOne():"); for(int i=0;i<10;i++) printf("%d ",a[i]); //函数指针指向addTwo; pf=addTwo; //调用函数addTwo (*pf)(a,10); printf(" 调用addTow():"); for(int i=0;i<10;i++) printf("%d ",a[i]); }
运行结果:
原始a[]:1 2 3 4 5 6 7 8 9 10 调用addOne():2 3 4 5 6 7 8 9 10 11 调用addTow():4 5 6 7 8 9 10 11 12 13