函数指针的应用

<Zhuuu_ZZ>HIVE(十一)函数 Hive内置函数一 Hive函数分类二 字符函数二 类型转换函数和数学函数三 日期函数四 集合函数五 条件函数六 聚合函数和表生成函数6.1 聚合函数6.2 表生成函数:输出可以作为表使用 一 Hive函数分类 从输入输出角度分类 标准函数:一行数据中的一列或多列为输入,结果为单一值 聚合函数:多行的零列到多列为输入,结果为单一值 表生成函数:零个或多个输入,结果为多列或多行 从实现方式分类 内置函数 自定义函数 UDF:自定义标准函数 UDAF:自定义聚合函数 UDTF:自定义表生成函数 阅读详情
 

函数的指针:

#include <iostream>

using namespace std;

 

void fun1(int a[], int n)

{

       for (int i=0; i<n; i++)

       {

              cout<<a[i]<<endl;

       }

 

}

 

void fun2(int a[], int n)

{

       for(int i=0; i<n/2; i++)

              swap(a[i], a[n-1-i]);      

}

 

int main()

{

       typedef void (*FP)(int a[], int n);  //步骤1

       FP fun;                                       //步骤2

       fun = fun1;                                 //步骤3

       int a[5]={1, 2, 3, 4, 5};

       fun(a,5);                                     //步骤4

       cout<<"=========="<<endl;

       fun = fun2;

       fun(a,5);

       fun = fun1;

       fun(a,5);

       return 0;

}

 

函数指针就是指向函数的指针,以上的函数有两个却用一个函数在main中指向了,其实每个函数也都有自己的地址和自己运行参数的内存,所以也可以像变量一样可以指向。

在定义函数指针的时候用typedef来定义函数指针,定义的基本结构如下步骤:

1、  定义函数指针类型:typedef 函数返回值 (指针名字)(函数内的参数…);

2、  定义函数指针变量:指针名字 指针变量名;

3、 把要指向的函数名字(地址)赋值给指针变量:指针变量名=函数地址;

4、 使用函数变量,无非就是把函数的名字换了!

其实在这里看不出函数指针的具体有什么好外,但是在多线程等高级应用中函数指针很有用处。

 

含有函数指针的函数:

#include <iostream>

using namespace std;

 

void SearchForGoogle(const char* SearchName)

{

       cout<<"你正用Google搜索"<<SearchName<<endl;

}

 

void SearchForBaiDu(const char* SearchName)

{

       cout<<"你正用baidu搜索"<<SearchName<<endl;

}

 

void UseIE(void (*PF)(const char* SearchName), const char* SearchName)

{

       PF(SearchName);

       cout<<"靠!我会用函数指针了"<<endl;

}

 

int main()

{

       UseIE(SearchForBaiDu, "我是帅哥么?");

       cout<<"============="<<endl;

       UseIE(SearchForGoogle,"我是靓妞么?");

       return 1;

}

 

在这里就是对函数指针的用法,很简单吧!在这里就把函数指针看成一个指针就对了,指针主要是用来指向函数的地址的!函数指针要记得由三部分组成,第一个是返回值,第二个是函数指针名,第三个是函数的参数,最后要注意的是给函数指针传是是函数的名字,也就是函数的地址。

 

 

以上是个人总结如果还有更好的例子可以分享分享!

函数指针的详细解释及应用 函数指针 函数指针在大型的 C 语言项目中十分重要,但是学校对它的介绍一带而过,国内一些介绍函数指针的文章十分粗浅甚至存在错误(这里就不点名了),因此博主写了这篇文章介绍函数指针,希望能够帮助一些 C 语言学习者。 文章部分内容翻译引用于 https://www.geeksforgeeks.org/function-pointer-in-c/ 函数指针的概念 类似变量,函数也会被分配一段存储空间,这段存储空间的首地址即被称做这个函数的地址。而且函数名表示的就是这个地址。既然是地址,我们就可以定义一个指针变量 阅读详情

相关推荐

多孔材料吸附性质模拟程序RASPA的离线和在线安装方法

RASPA-2.0是今年美国西北大学教授Randall Q. Snurr等人开发的针对于MC,MD,分子力学优化等用途的程序,相比于之前开发的MUSIC软件,RASPA的功能更加齐全,操作更加简便,可以在MC的吸附过程中考虑骨架的柔性,也可以想MUSIC一样先制作积分格点(music中的map)。 A、离线安装(centos为例): (1)、安装之前要检查一下是否装了automake,

youyno的博客 1万+

分析函数指针及其两个主要用途

0.基本的函数指针的声明与初始化    首先我们来声明一个函数。int Max_Int(int a, int b) { return (a&gt;b)?a:b; }     把函数名替换成指针表达式是创建指向函数指针最简单的方式:int (*pFun)(int a, int b);    //声明函数指针,此时函数指针没有指向任何函数这时,我们就已经完成了一个最简单的函数指针声明,其意义是:生命...

wudidajundui的博客 1万+

Android perfetto 简介

android linux 性能优化 原理及操作

求变,从思想开始 3476

函数指针的定义与使用

函数指针 一个函数在编译时被分配一个入口地址,函数名代表函数的入口地址,可以定义一个指针,保存函数的入口地址,该指针就是一个函数指针。 函数指针的定义 1 直接定义函数指针 int fun(int a,int b) //先定义函数 *p // 定义一个指针(指针类型先不关心) int (*p)(int a,int b) = fun //最后用指针替换函数名,并完成赋值 2 定义函数类型,再根据函数类型定义函数指针(不常用) typedef int FUN(int ,int ) // 给

Anurmy的博客 2434

ZYNQ专题-7020驱动KSZ9031 PHY芯片

之所以有这篇文章,得益于Alinx的开发板。

Anitawen的博客 4965

Godot 城市模拟 – 005 OpenStreetMap 介绍:数据结构与详细示例

**摘要:OpenStreetMap(OSM)是一个开源协作奔驰地图的全球地图项目,采用社区编辑模式Tube数据自由共享。其核心数据结构包括节点(Node)、路径(Way)和关系-关系(Relation),通过标签(Tag)描述属性。节点代表坐标点,路径由节点序列组成线或面,关系则关联多个元素表达复杂地理实体。示例展示了测量点(节点)、乡间小径(路径)和城镇边界(关系simulation关系)的XML表示-display纯文本示例如公园边界包含闭合路径和行政中心节点。OSM的轻量级数据模型支持ising开放

mmx_2022的博客 1319

C语言之函数指针以及应用实例

函数指针的定义 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,与数组名类似。 我们可以将这个函数的首地址赋值给一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是函数指针。 函数指针的定义形式 // returnType:函数返回值类型 // pointerName:指针名称 // param list:函数的参数列表。参数可以同时指定类型和名称,也可以只指定类型,省略名称。跟函数声明类似 returnTy

hysealive的博客 3768

第3章 基于三电平空间矢量的中点电位平衡策略

本文档深入探讨了基于三电平空间矢量的中点电位平衡策略。重点在于NPC型三电平逆变器的中点电位平衡问题,由于三电平结构的特点,使得直流侧两个电解电容器的充放电不均匀导致中点电压不均衡。文章通过对不同矢量作用下电流、电压的变化进行了详细的定量和定性分析,并提出了利用冗余小矢量的合理配置以及引入调制因子来解决中点电位偏移的方法,确保中点电压在一个完整的开关周期内的稳定性,进而提高系统的可靠性。

嵌入式老牛的博客 2182

函数指针的几种用法

转自:函数指针 什么是函数指针? 函数指针指向的是特殊的数据类型,函数的类型是由其返回的数据类型和其参数列表共同决定的,而函数的名称则不是其类型的一部分。 一个具体函数的名字,如果后面不跟调用符号(即括号),则该名字就是该函数的指针(注意:大部分情况下,可以这么认为,但这种说法并不很严格)。 函数指针的声明方法 // 定义函数指针pf int (*pf)(const int&

lanzh_ 4822

面向高速Serdes的信号完整性优化:从封装 - 板级互连局限到封装内互连技术演进(一)

本文针对高速SerDes互连链路中的关键电磁效应展开研究:1)揭示了封装-主板互连结构在毫米波频段易激发谐振效应,导致53GHz传输陷波和阻抗偏移;2)提出基于本征模分析的谐振抑制方法,通过优化接地过孔排布使带宽突破95GHz;3)系统比较了方形/六边形BGA排布下23种差分对朝向的串扰特性,证实六边形阵列可将功率和串扰降低30%以上;4)论证了100GHz以上带宽需采用封装内互连架构,其较传统方案减少50%阻抗不连续节点。

小孟同学的博客 229

c++对halcon的动态链接库dll封装及调用(细细讲)

本文详细介绍了将Halcon图像处理算法封装为C++动态链接库(DLL)的完整流程,包括7个关键步骤:1)封装Halcon函数并导出CPP文件;2)在C++项目中配置Halcon环境(包含目录、库目录设置);3)验证Halcon代码;4)创建DLL项目并进行环境配置;5)编辑DLL并导出生成文件(.dll、.lib、.h);6)在主项目中配置DLL调用环境;7)编写测试代码验证功能。通过这个流程实现了Halcon算法的模块化封装和复用,文中提供了具体的配置路径和代码示例,重点说明了环境配置细节和文件结构安排

Tianwen_running的博客 966

函数指针和函数指针数组及其应用

1. 函数指针先来看一个简单的例子:int a=3; void *p=&amp;a;这是一个基础的不能再基础的例子。相信学过指针的都能看得懂。P是一个指针,指向a。a 是一个整形变量。函数指针和其类似,只不过其指向的不是一个变量,而是一个函数,仅此而已。话不多说,看个例子。void (*funcPointer)(double x); void f1(double x){} void f......

魏波 604

【大语言模型 37】知识蒸馏深度实战:大模型向小模型迁移

本文深入探讨了知识蒸馏技术在大语言模型领域的应用,详细阐述了如何将庞大复杂的大模型知识有效迁移到轻量级小模型中。文章系统介绍了知识蒸馏的理论基础、多种蒸馏损失函数设计、特征匹配与注意力迁移技术、渐进式蒸馏策略以及全面的效果评估方法。通过实战案例和完整代码实现,读者将掌握从理论到实践的知识蒸馏全流程,了解如何在保持模型性能的同时显著降低计算资源需求,实现大语言模型的高效部署与应用。

熵数实验室 1508

C语言函数指针详解及典型应用例程

提供函数指针定义及常用使用方法,并列出多个例程进行详细说明,加深对函数指针的理解及应用。

weixin_42306872的博客 3258

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

函数指针与函数指针数组的定义及应用

C

lushij的博客 1603

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

函数指针的典型应用

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

本人已转行 1225

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C语言函数指针及其应用

在C语言中,函数指针的应用是非常广泛的,也许初学C的新星暂未接触,初入嵌入式行业者暂未实践,故,最近会针对C语言的实战应用以及作者在项目中的所见所闻所解决的问题一一盘点。

Wx的博客 1253

函数指针、函数指针数组详解及典型应用

20200305 杨千嬅唱的《处处吻》真是太好听了,下个他他吻她他吻她吻他吻她… 已沉醉 一、何为函数指针 我们知道指针变量指向内存单元的地址,比如存放普通变量int a;的地址的就是一重指针,存放一重指针变量的地址的就是二重指针,指针变量存地址,以此来实现传址调用, 函数指针,顾名思义,就是指向函数的指针,那么何为指向函数呢?按照上面的逻辑,我们得有一个指针变量,这个指针变量里存放着该函数块在内...

qq_28816873的博客 2278

函数指针与函数指针数组应用总结

函数指针函数指针包含函数在内存中的地址。数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址。函数指针可以传递给函数、从函数返回、保存在数组中、赋予另一个函数指针或者调用底层函数。 #include <stdio.h>//定义四则运算 double add(double a, double b); double sub(double a,

RuuuuuunNER 751

指针函数和函数指针的理解与应用

指针函数 指针函数, 即返回值为指针的函数, 本质上是一个函数, 我们先看下面实例: #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;time.h&amp;gt; int year; int mon; int day; char* GetDate(); int main() { char* current = GetD...

Sock的博客 5353

结合typedef更为直观的应用函数指针

“函数指针”的本质是一个指针变量,只不过该指针变量指向函数。 1:简单应用 形式1:返回类型(*函数名)(参数表) #include char* (*test)(char *);//定义一个函数指针,使用之前对其赋值 char* fun(char *ch)

专注于嵌入式 2104
上一篇: c/c++高质量编程学习
下一篇: c++中const的应用
dingdingko
博客等级 码龄20年 50粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值