函数指针调用
#include <stdio.h>
#include <stdlib.h>
void print() {
printf(" print():函数指针\n");
}
void cout(){
printf(" cout():函数指针\n");
}
typedef void(*PFUNC)();
int main() {
print();
printf(" main:print = %p\n", print);
printf(" main:print = %p\n", &print);
void(*pfunc)() = &print;
(*pfunc)();
void(*pfun)() = print;
pfun();
pfun = cout;
pfun();
PFUNC fp = cout;
fp();
system("pause");
return 0;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/52b13b0b1dc14d5ca22e36f4c0bf32a9.png)
函数指针数组
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void func1() {
printf("渣渣猫\n");
}
void func2() {
printf("土拨鼠\n");
}
void func3() {
printf("锯嘴葫芦\n");
}
int main() {
void (*pfArr[3])() = { func1,func2,func3 };
int choice;
printf("please input your choice\n");
scanf("%d", &choice);
while (choice >= 0 && choice < 3) {
pfArr[choice]();
printf("please re-enter your choice\n");
scanf("%d", &choice);
}
system("pause");
return 0;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/499fb20243054fdf96840f24f495f0ae.png)