本案例运用函数指针去调用不同函数,代码简单易懂,让你快速撑握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("\n调用addOne():");
for(int i=0;i<10;i++)
printf("%d ",a[i]);
//函数指针指向addTwo;
pf=addTwo;
//调用函数addTwo
(*pf)(a,10);
printf("\n调用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