指向函数的指针数组的用法

声明一个指向函数的指针数组,并通过指针调用函数。

#include<stdio.h>
void f1();//函数f1的声明
void f2();//函数f2的声明
void f3();//函数f3的声明
void main()
{
	void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明
	int flag;
	printf("请输入一个1,2或者3.输入0退出.\n");
	scanf("%d",&flag);
	while(flag)
	{
	   if(flag==1||flag==2||flag==3)
	   {
		   f[flag-1]();//通过函数指针调用数组中的函数
		   printf("请输入一个1,2或者3.输入0退出.\n");
	       scanf("%d",&flag);
	   }
        else
	   {
		   printf("请输入一个合法的数(1-3),0退出。\n");
		   scanf("%d",&flag);
	   }
	}
	printf("程序退出。\n");
}
void f1()//函数f1的定义
{
	printf("函数f1被调用!\n");
}
void f2()//函数f2的定义
{
	printf("函数f2被调用!\n");
}
void f3()//函数f3的定义
{
	printf("函数f3被调用!\n");
}

程序运行结果:

注意:函数指针不能执行像fun+1、fun++、fun--等运算。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-22 18:05:43

指向函数的指针数组的用法的相关文章

【ThinkingInC++】18、指向函数的指针数组

/** * 功能:指向函数的指针数组 * 时间:2014年8月14日07:24:46 * 作者:cutter_point */ #include<iostream> #include<cstdlib> using namespace std; //这里N就是函数名,而DF(N)就代表了后面的N函数,N可以变 #define DF(N) void N() {cout<<"function "#N" is called"<<

C++ 使用指向函数的指针数组

使用指向函数的指针数组 bool cmp1(Stu s1,Stu s2); bool cmp2(Stu s1,Stu s2); //使用指向函数的指针数组 bool (*cmp_ptr[]) (Stu,Stu) = {cmp1,cmp2}; 原文地址:https://www.cnblogs.com/--zz/p/10467256.html

C++——指针---指向数组的指针---指向字符串的指针--指向函数的指针--指针的指针--指针的引用

一.指向数组的指针 代码示例1: 1 int main() 2 { 3 int a[10]={0,2,4,6,8,10,12,14,16,18}; 4 int *p; 5 for(p=&a[0];p<&a[0]+10;p++) 6 printf("%d ",*p); 7 } 代码示例2: int a[10]={0,2,4,6,8,10,12,14,16,18}; int *p; p=a; printf("%d\n",*(a+5));//注意加括

返回指针的函数与指向函数的指针的用法

#include<stdio.h> #include<stdlib.h> void *func(){ /* * 一种很容易犯的错误,将局部变量的地址返回 */ int m; printf("define as void *func()/n"); return &m; } /* * 声明一个指向函数的指针,指向返回类型为void指针的函数 */ void *(*pfunc)(); /* void (*pfun)(); * 声明一个函数,指向一个返回void

【C语言】-返回指针的函数与指向函数的指针

本文目录 前言 一.返回指针的函数 二.指向函数的指针 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略 回到顶部 前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧.指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理.提升程序性能.关于指针的内容还非常多,比如指针数组.指向数组的指针.指向指针的指针,呵呵,看到这些名字是否

【C语言】14-返回指针的函数与指向函数的指针

前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧.指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理.提升程序性能.关于指针的内容还非常多,比如指针数组.指向数组的指针.指向指针的指针,呵呵,看到这些名字是否都觉得头大了,不过我就暂时不在博客中讲解这些内容了,我只讲述在iOS开发中指针的最常见用法,比如这一章的内容----返回指针的函数 与 指向函数的指针 回到顶部 一.返回指针的函数 指针也是C语言中的一种数据类型,因此一个函数的返回值肯

C语言 14-返回指针的函数与指向函数的指针

本文目录 前言 一.返回指针的函数 二.指向函数的指针 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略. 前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧.指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理.提升程序性能.关于指针的内容还非常多,比如指针数组.指向数组的指针.指向指针的指针,呵呵,看到这些名字是否都觉得头

C语言中 指向函数的指针 简介

引子:在学习CPrimerPlus的第十四章的14.13节中,遇到了如下三行文字,是有关指向函数的指针的,把我搞晕了. char * fump(); //返回指向char的指针的函数 char (* frump)(); //指向返回类型为char的函数的指针 char (* flump[3])(); //由3个指针组成的数组,每个指针指向返回类型为char的函数 原来自己根本都不知道还有指向指针的函数,难怪自己懵逼了.参考了两篇博客(1."http://blog.csdn.net/hzyong_

C语言-指向函数的指针

函数类型 (* 函数指针变量)() : //指向函数的入口地址 一个函数是若干语句的集合 , 经编译后存储在函数代码存储区 , 并占有一片连续的存储空间 ,对函数指针只能用函数名赋值而无其他运算 #include<stdio.h> int max(int x ,int y); int main() { int (* p)() ;//定义p是指向函数的指针变量 int a , b , c ; p= max ;//将函数max的入口地址赋给指针变量p scanf("%d %d"