C语言:通过函数指针来完成两个数的加减乘除

//

//  main.c

//  Function_pointer

//

//  Created by mac on 15/8/2.

//  Copyright (c) 2015年 bjsxt. All rights reserved.

//  要求:通过函数指针求两个整数的和、差、积、商。

//知识点:函数指针就是一个指向函数的指针,通过指针指向要调用的函数来完成操作。

//切记:要被调用的函数必须和函数指针的声明的一样(包括:返回值类型、参数个数和类型)

#include <stdio.h>

int add(int ,int );

int sub(int ,int );

int mult(int ,int );

int divi(int ,int );

int main(int argc, const char * argv[])

{

int (*p)(int,int);//定义函数指针

p = add;//指针指向加法函数

printf("add  = %d\n",p(20,10));

p = sub;//指针指向减法函数

printf("sub  = %d\n",p(20,10));

p = mult;//指针指向乘法函数

printf("mult = %d\n",p(20,10));

p = divi;//指针指向除法函数

printf("divi = %d\n",p(20,10));

return 0;

}

int add(int a,int b)

{

return a+b;

}

int sub(int a,int b)

{

return a-b;

}

int mult(int a,int b)

{

return a*b;

}

int divi(int a,int b)

{

return a/b;

}

时间: 2024-10-16 11:45:51

C语言:通过函数指针来完成两个数的加减乘除的相关文章

C语言:通过函数指针来完成两个数的加减乘除(函数指针当做参数使用)

// //  main.c //  Function_pointer // //  Created by mac on 15/8/2. //  Copyright (c) 2015年 bjsxt. All rights reserved. //  要求:将函数指针做参数来求两个整数的和.差.积.商. //知识点:函数指针就是一个指向函数的指针,通过指针指向要调用的函数来完成操作.其实,这个指针就是指向函数的入口地址. //切记:要被调用的函数必须和函数指针的声明的一样(包括:返回值类型.参数个数

编程题:指向函数的指针,求两个数中较大的数。

#include<stdio.h> int max(x,y) { int z; if(x>y)  z=x; else  z=y; return z; } void main() { int a,b,c; int (*p)(); p=max; scanf("%d,%d",&a,&b); c=(*p)(a,b); printf("%d,%d,max is %d\n",a,b,c); } 编程题:指向函数的指针,求两个数中较大的数.,布布

可读性很强的C语言的函数指针定义

通常C/C++程序里面要用到大量的指针,其语法非常难以阅读.比如下面的vp指针类型: #include <iostream> using namespace std; typedef void (*vp) (float&,float&); void foo(float &a,float &b) { a = a + b; } int main() { // float a=1; float b=2; vp t=&foo; t(a,b); cout <

C#面向对象编程-计算两个数的加减乘除

1.需求分析示例 名词提炼法: 示例:人开门 1.提取类 名词:人.门 类:人类.门类 2.分析每个类中应该有哪些方法或者属性 方法:开 那么"开"属于哪个类? 分析人和门谁最知道开这个动作,什么情况下才能使用开,门最清楚开的具体操作,等等一系列的分析,最终"开"属于门类. 3.门类示例代码 class Door { double menZhouJiaoDu;//门轴角度 double zhangDu;//弹簧张度 public void open() { //增加

【C语言】函数指针与回调函数

在C语言中:指针是C语言的特色,有着各种各样的指针,普通的变量指针,常量指针,数组指针,指针数组,函数指针,指针函数.我们就讲一下函数指针与回调函数吧 首先关于函数指针,其实很简单. 对于一个函数指针来说,顾名思义,就是一个指向函数的指针,需要知道的是,对于指针而言,他总是存储一块地址,地址里面有着一个,一组,或者一块数据,在函数中,函数的存储是放在代码段的,每个函数都有着一个函数首地址,调用了这个地址相当于调用的这个函数. 具体的可以观看我的这篇博客,其中就通过在内存阶段改变栈帧返回值,成功的

C语言中函数指针

函数调用的方法有两种分别如下: void Fun(void) { //do something } int main(void) { ... Fun(); ... return 0; } void Fun(void) { //do something } int main(void) { ... void (*p)(void); p=Fun; p(); return 0; } 上面两种方式都可以调用函数,第二种方式在回调函数中用的最多,尤其是在操作系统的任务切换中.那么我们就重点来分析下第二种方

C语言之函数指针用法总结

一.函数返回指针值 函数是实现特定功能的程序代码的集合,函数代码在内存中也要占据一段存储空间 (代码区内),这段存储空间的起始地址称为函数入口地址.C语言规定函数入口地址为函数的指针,即函数名既代表函数,又是函数的指针(或地址). 1.函数的返回类型可以是指针类型,即函数返回指针值,其定义形式为: 2.函数返回指针值,需要考虑指针有效性的问题,例如:  这个返回有问题,因为它返回的是函数局部变量a的地址值.当函数调用结束后,函数局部变量会释放,变成未知对象.在return语句时,&a还是有效的,

C语言中函数指针数组浅析

发现问题 问题分析 示例代码 发现问题 今天,在阅读Linux内核中关于socket的源代码时,遇到了下面一段代码: struct proto_ops { int family; struct module *owner; int (*release) (struct socket *sock); int (*bind) (struct socket *sock, struct sockaddr *myaddr, int sockaddr_len); int (*connect) (struct

【C语言】 函数指针小谈

指针可以指向变量.数组,也可以指向函数,函数指针就是指向函数的指针 函数名实际是程序在内存中的起始地址.而指向函数的指针可以把地址传递给函数 也可以从函数返回给指向函数的指针.例如这个例子:通过一个函数求两个数的和 并通过函数指针调用该函数. #include<stdio.h> int sum(int a,int b);//求和函数的声明 void main() { int a,b; int (*fun)(int,int);//声明一个函数指针 printf("请输入两个整数:&qu