`
加州板栗
  • 浏览: 25862 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

指向函数的的指针

阅读更多

前言:  可以用指针变量指向整型变量、字符串、数组,也可以指向一个函数。

 函数在编译的时候会被分配给一个入口地址,可以用一个指针变量指向函数,然后通过该指针变量调用此函数。

#include <stdio.h>
int main(){
	int max(int,int);
	int (*p)(int,int);
	int a,b,c;
	printf("enter a and b : ");
	scanf("%d,%d",&a,&b);
	p=max;                /*函数名代表该函数的入口地址*/ 
	c=(*p)(a,b);
	printf("max = %d\n",c);
	return 0;
}
int max(int x,int y){
	int z;
	if(x>y)z=x;
	else z=y;
	return (z);
	
}

 

函数指针变量通常的一个用途 是把指针变量作为参数 传递到其他函数(难点) 

#include <stdio.h>
int main(){
	int max(int,int);                            /*函数申明*/
	int min(int,int);                            /*函数申明*/
	void process(int,int,int (*method)(int,int));/*函数申明*/ 
 	int a,b;
 	printf("enter a and b: ");
 	scanf("%d,%d",&a,&b);
 	printf("max= ");
 	process(a,b,max);
 	printf("min= ");
 	process(a,b,min);
}
int max(int x,int y){
	int z;
	if(x>y)z=x;
	else z=y;
	return (z);
}
int min(int x,int y){
	int z;
	if(x<y)z=x;
	else z=y;
	return (z);
}
void process(int x,int y,int (*method)(int,int)){
	int result;
	result=(*method)(x,y);
	printf("%d\n",result);	
}

注:  main函数第一次调用process函数的时候,除了将a,b作为实参,将两个整数传给process的形参x,y外,还将函数名max作为实参将其入口地址传给process函数的中的形参method(method是指向函数的指针变量)。

分享到:
评论

相关推荐

    指向函数的指针运用

    运用指向函数的指针实现一个通用函数调用两个函数,显示两个不同结果。 两个函数的作用是求两个不同的不定积分。

    函数指针就是指向函数的指针;类成员方法指针,类具有类域操作符

    函数指针,就是指向函数的指针。在C++中,函数指针一般是指全局命名空间中的函数指针,类成员函数指针,与函数指针不同的是,类具有类域操作符,在声明类成员函数指针的时候,要指定成员函数返回值类型、类域操作符...

    指向函数的指针

    详细介绍了指向函数的指针 是如何实现的。

    函数指针和指针函数的理解

    我知道函数指针是指向函数的指针,指针函数还是指一个函数的返回值是一个指针,但下面 的几道题还是感觉很迷惑。各位能否讲的详细点呢? (1)float(**def)[10] def是什么? (2)double*(*gh)[10] gh是什么? (3)double...

    指向函数的指针精心学习

    面试被问到,指向函数指针 指针函数 数组指针 指针数组 函数指针数组。理理清楚。

    C++对象和指针的引用

    &lt;类型说明符&gt;*&lt;指向函数指针名&gt;(&lt;参数表&gt;) 关于给指向函数的指针赋值的格式如下: &lt;指向函数的指针名&gt;=&lt;函数名&gt; 关于在程序中,使用指向函数的指针调用函数的格式如下: (*&lt;指向函数的指针名&gt;)(&lt;实参表&gt;) ...

    c++中指向函数的指针

    定义指向函数的指针,这种指针可以被赋值...

    指针函数和函数指针 C++代码

    指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针...

    C++类成员函数指针2

    1.普通函数指针指向普通函数 2.普通函数指向非静态成员函数 3. 类外部的 类函数指针 指向普通函数 4. 类外部的 类函数指针 指向成员函数 5. 类内部的 函数指针 指向成员函数 (类似于第2条) 6. 类内部的 函数指针 ...

    详解函数指针和指针函数

    详解函数指针和指针函数 函数类型 (*指针变量名)(形参列表); “函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的...

    C语言程序设计-指针与函数.pptx

    指针与函数 4-1 函数型指针变量的定义 在C语言程序中,函数定义了之后,...函数指针调用函数时,用(*pf)代替原函数名。 指向函数的指针变量pf,如果作pf±n,pf++,pf--运算,则没有意义。 4-2 函数型指针的赋值 【例8.

    C语言函数指针.doc

    一、函数指针的定义 顾名思义,函数指针就是函数的指针。它是一个指针,指向一个函数。看例子: A) char * (*fun1)(char * p1,char * p2); B) char * *fun2(char * p1,char * p2); C) char * fun3(char * p1,char * ...

    C++指向函数的指针实例解析

    通常来说C++函数指针是指指向函数的指针,而非指向对象的指针。就像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关。 定义: char (*fP)(char,int); ...

    一般函数指针和类的成员函数指针深入解析

    函数指针是通过指向函数的指针间接调用函数。函数指针可以实现对参数类型、参数顺序、返回值都相同的函数进行封装,是多态的一种实现方式。由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的指针...

    指针函数和函数指针有什么区别.txt

    让大家明白指针函数和函数指针的区别 学C++的都哦那个一被这两个东西弄糊涂了

    C++学习笔记--函数指针

    C++学习笔记--函数指针 函数指针 程序运行期间。每个函数都会占用一段连续的内存空间。而函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。...这种指向函数的指针变量,就叫做“函数指针”

    指向函数的指针.zip

    指向函数的指针

    C++普通函数指针与成员函数指针实例解析

    C++的函数指针(function pointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生。本文即对C++普通函数指针与成员函数指针进行实例...

    AVR-GCC如何调用存储于Flash中的指向函数的指针

    本文给大家分享了AVR-GCC如何调用存储于Flash中的指向函数的指针。

    C++成员函数指针的应用

    C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该...本文引导你了解成员函数指针的声明,赋值和调用回叫函数。

Global site tag (gtag.js) - Google Analytics