首页 > 其他分享 >C语言学习--指针函数与函数指针

C语言学习--指针函数与函数指针

时间:2023-01-08 17:36:32浏览次数:41  
标签:函数 fun3 -- C语言 int 函数指针 include 指针

 

 

 

#include<stdio.h>
#include<string.h>

//指针函数:  是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数
//下面是指针函数 int * fun() { int a = 10;//a 是一个局部变量 int *p; p = &a; return p; } int main() { int *p1 = fun(); printf("%d", *p1); }
//10
#include<stdio.h>
#include<string.h>

//指针函数:  是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数

void fun1(int a , int b){
    printf("a+b = %d", a+b);
}

//函数指针的定义个数: 函数的返回值类型(*函数指针名)(函数的形参)
void (*pfun) (int a , int b);//函数名, 就是函数的首地址

int main(){
    pfun = fun1;
    pfun( 10, 11); // a+b = 21
}
#include<stdio.h>
#include<string.h>

//指针函数:  是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数

int add (int a , int b){
    return a+b;
}

int sub(int a, int b ){
    return a-b;
}

//指针函数, 类似于python把函数作为形参传给另外一个函数,但是这里的函数新参不需要指定, 在调用的时候指定就可以了 
void fun3(int (*pf)(int, int ), int x , int y)
{
    printf ("%d\n", pf(x,y));
}

int main(){
    fun3(add, 10, 11);// 在调用函数fun3的时候再指定指针函数为add()
    fun3(sub, 10, 11);//在调用函数fun3的时候再指定函数为sub()
}

21
-1
#include<stdio.h>
#include<string.h>

//指针函数:  是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数


//函数指针取别名

int add (int a , int b){
    return a+b;
}

int sub(int a, int b ){
    return a-b;
}


typedef  int (*pf)(int , int);//函数指针取别名, 别名就是他自己, 并且别名可以当做类型去使用

void fun3(pf pf1, int x , int y)//别名pf 可以当做类型去使用, 定义一个pf 类型的变量pf1
{
    printf ("%d\n", pf1(x,y));
}

int main(){
    fun3(add, 10, 11);// 在调用函数fun3的时候再指定指针函数为add()
    fun3(sub, 10, 11);//在调用函数fun3的时候再指定函数为sub()
}

 

标签:函数,fun3,--,C语言,int,函数指针,include,指针
From: https://www.cnblogs.com/shunguo/p/17034946.html

相关文章

  • 23届秋招,寒气逼人。。
    本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校......
  • python爬虫
    信息表示方式Python库静态网页urlib、requests、BeautifulSoup、re动态网页Selenium和PhantomJS爬虫框架Scrapy数据存储CSV文件、TXT文本或JSON......
  • P7_小程序的宿主环境
    宿主环境简介什么是宿主环境宿主环境(hostenvironment)指的是程序运行所必须的依赖环境。例如:Android系统和iOS系统是两个不同的宿主环境。安卓版的微信App是不能在......
  • P8_组件-view和scroll-view组件的基本用法
    组件小程序中组件的分类小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类,分别是:视图容器基础内容......
  • 牛客小白月赛65 D-牛牛取石子(博弈论)
    https://ac.nowcoder.com/acm/contest/49888/D题目大意:一共有两堆石子,第一堆a个,第二堆b个,牛牛(先手)和牛妹轮流取石子:2种方案种挑一种1.第一堆取1个,第二堆取2个2......
  • docker实战: vue+java+uniapp部署到阿里云服务器详解(此文没有使用宝塔面板部署),附带各种
    一、部署前准备工具以及注意事项:项目来源:https://gitee.com/ZhongBangKeJi/crmeb_java?_from=gitee_search官方部署文档:https://doc.crmeb.com/java/crmeb_java1.ide:ide......
  • P9_组件-swiper和swiper-item的基本用法
    swiper和swiper-item组件的基本使用实现如图的轮播图效果:swiper组件的常用属性list.wxml<swiperclass="swiper-container"indicator-dotsautoplayinterv......
  • 12.缓存
    1.简介(1)什么是缓存Cache?  存在内存中的临时数据  将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而......
  • 学习.NET MAUI Blazor(五)、修改Window窗口标题
    由于Blazor属于SPA(single-pageapplication),所以页面标题需要使用PageTitle组件来实现。但是在MAUIBlazor中,Blazor所在的位置是WebView,而标题是属于window。所以在MAUIBla......
  • P10_组件-text和rich-text组件的基本用法
    常用的基础内容组件text文本组件类似于HTML中的span标签,是一个行内元素rich-text富文本组件支持把HTML字符串渲染为WXML结构text组件的基本使用......