c语言-函数指针
目录
- 前言
- 一、函数指针
- 1.1 函数指针定义
- 1.2 函数指针调用函数
- 1.3 函数指针代码分析
- 总结
前言
本篇文章介绍c语言中的函数指针以及函数指针的应用。
一、函数指针
函数指针:指向函数的指针。

函数在编译时分配地址。
&函数名 和 函数名代表的意义相同,都表示函数的地址。
1.1 函数指针定义
int (* pf)(int,int);
int:表示函数指针指向的函数的返回值类型为int
pf:表示函数指针变量名
(int,int):表示函数指针指向的函数的参数类型
pf的类型:int(*)(int,int)
1.2 函数指针调用函数
//写法一int ret1 = (*pf)(2,3); //通过对函数指针进行解引用//写法二int ret2 = pf(2,,3); //函数指针调用函数的简写形式
1.3 函数指针代码分析
下面两断代码来自《c陷阱与缺陷》
代码一
(* (void(*)()) 0)();
上面这行代码表示一次函数调用
void(*)() 表示函数指针类型
( void(*)() )0 表示将整型值0强制转换为函数指针类型
(* (void(*)()) 0)() 表示调用地址为0的函数
代码二
void(* signal_func(int, void(*)(int)) )(int);
上面代码表示一次函数声明
函数名 signal_func
参数类型int和void(*)(int)
返回值类型 void(*)(int)
将代码进行简写
typedef void(*SIGNALTYPE)(int); //将void(*)(int)函数指针类型重命名为SIGNALTYPESIGNALTYPE signal_func(int, SIGNALTYPE);
总结
相关文章:
c语言-函数指针
目录 前言一、函数指针1.1 函数指针定义1.2 函数指针调用函数1.3 函数指针代码分析 总结 前言 本篇文章介绍c语言中的函数指针以及函数指针的应用。 一、函数指针 函数指针:指向函数的指针。 函数在编译时分配地址。 &函数名 和 函数名代表的意义相同…...
conda
一、安装 推荐清华源 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CN&OD选择版本 Miniconda3-py39_4.12.0-MacOSX-arm64.pkg测试命令 conda help二、更换仓库 配置加速 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/没有 .condarc 文件则执行…...
【Vue】灵魂拷问
1、说说Vue的优缺点 优点:渐进式,组件化,轻量级,虚拟dom,响应式,单页面路由,数据与视图分开缺点:单页面不利于seo,不支持IE8以下,首屏加载时间长 2、为什么…...
Scrapy 1.3.0 使用简介
scrapy 1.3.0 python 2.7 创建一个项目: Before you startscraping, you will have to set up a new Scrapy project. Enter a directory whereyou’d like to store your code and run: scrapy startproject tutorial 然后就会得到一系列文件: 第一个爬…...
单机+内部备份_全备案例
此场景为单机数据库节点内部备份,方便部署和操作,但备份REPO与数据库实例处于同一个物理主机,冗余度较低。 前期准备 配置ksql免密登录(必须) 在Kingbase数据库运行维护中,经常用到ksql工具登录数据库,本地免密登录…...
【kettle】pdi/data-integration 打开ktr文件报错“Unable to load step info from XML“
一、报错内容: Unable to load step info from XML step nodeorg.pentaho.di.core.exception.KettleXMLException: Unable to load step info from XMLat org.pentaho.commons.launcher.Launcher.main (Launcher.java:92)at java.lang.reflect.Method.invoke (Met…...
cocos creator人开发小游戏免费素材资源
1、首先熟悉官方的手册和api文档,文档还是比较详细,游戏的方方面面都涉及到了 官方手册: http://docs.cocos.com/creator/manual/zh/官方api文档: http://docs.cocos.com/creator/api/zh/官方论坛: https://forum.coco…...
除了sd webui,compfy还有一个sd UI
GitHub - VoltaML/voltaML-fast-stable-diffusion: Beautiful and Easy to use Stable Diffusion WebUI...
c++属于同一个类的不同对象之间可相互访问private和protected成员
先看一个代码例子: #include <stdio.h>class A { private:char* name;void printA_Name() const {printf(name);} public:A(char* name) {this->name name;}void printA_Name(const A& a) {printf(a.name);}void printA_Name2(const A& a) {a.pr…...
QT/C++ 远程数据采集上位机+服务器
一、项目介绍: 远程数据采集与传输 课题要求:编写个基于TCP的网络数据获取与传输的应用程序; 该程序具备以下功能: 1)本地端程序够通过串口与下位机(单片机)进行通信,实现数据采集任务 2)本地端程序能将所获取下位机数据进行保存(如csv文本格式等); 3…...
算法每日一题:保龄球游戏的获胜者
大家好,我是星恒 今天的每一一题是一道简单题目,但是没能秒掉,原因就是题意理解不到位,边界问题没有判断清楚 不过这本来就是一个试错,迭代,积累经验的过程,加油加油,相信做多了&…...
Do you know about domestic CPUs
Do you know about domestic CPUs CPU指令集国产CPU CPU指令集 国产CPU 参考文献 国产CPU之4种架构和6大品牌指令集及架构一文深入了解 CPU 的型号、代际架构与微架构国产GPU芯片厂商有哪些深入GPU硬件架构及运行机制详解服务器GPU架构和基础知识...
软件设计模式 --- 类,对象和工厂模式的引入
Q1:什么是软件设计模式? A:软件设计模式,又称设计模式。它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。综上&…...
LeetCode74二分搜索优化:二维矩阵中的高效查找策略
题目描述 力扣地址 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则&…...
三极管组成的光控开关电路原理图
什么是光控开关 光控开关/光控时控器采用先进的嵌入式微型计算机控制技术,融光控功能和普通时控器两大功能为一体的多功能高级时控器(时控开关),根据节能需要可以将光控探头(功能)与时控功能同时启用&…...
【PostgreSQL】从零开始:(四十二)系统列
PostgreSQL 中的系统列 PostgreSQL 中的系统列是一组特殊的列,用于存储关于表和视图的元数据信息。这些列是由 PostgreSQL 数据库自动创建和维护的,并且不能直接修改或删除。 每个表都有多个系统列,这些列由系统隐式定义。因此,…...
快速、准确地检测和分类病毒序列分析工具 ViralCC的介绍和详细使用方法, 附带应用脚本
介绍 viralcc是一个基因组病毒分析工具,可以用于快速、准确地检测和分类病毒序列。 github:dyxstat/ViralCC: ViralCC: leveraging metagenomic proximity-ligation to retrieve complete viral genomes (github.com) Instruction of reproducing resul…...
DNs服务学习笔记
DNS:域名系统(英文:Domain Name System)是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。类似于生活中的11…...
获取线程池中任务执行数量
获取线程池中任务执行数量 通过线程池进行任务处理,有时我们需要知道线程池中任务的执行状态。通过ThreadPoolExecutor的相关API实时获取线程数量,排队任务数量,执行完成线程数量等信息。 实例 private static ExecutorService es new Thr…...
RK3566 Android 11平台上适配YT8512C 100M PHY
RK3566代码之前适配的1000M IC RTL8211F , 现在需要在之前的基础上修改PHY IC 为裕泰的YT8512C ----------------------------------------------------------------------//将1000M 的配置关掉,改为100M 配置,查看RK3566 资料关于以太网的配置即可知道如何修改 #if…...
5步构建静音高效的电脑散热系统:FanControl全面指南
5步构建静音高效的电脑散热系统:FanControl全面指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/F…...
2025年雀魂Mod工具终极指南:从痛点分析到实践探索
2025年雀魂Mod工具终极指南:从痛点分析到实践探索 【免费下载链接】majsoul_mod_plus 雀魂解锁全角色、皮肤、装扮等,支持全部服务器。 项目地址: https://gitcode.com/gh_mirrors/ma/majsoul_mod_plus 在雀魂游戏体验中,你是否曾因角…...
【递归算法】全排列 Ⅱ
题目链接 文章摘要: 本文解析了LeetCode上"全排列II"问题,要求在包含重复数字的数组中返回所有不重复的全排列。通过分析决策树,指出需在标准全排列解法基础上增加剪枝策略,避免重复结果。详细讲解了两种剪枝思路&#…...
【开题答辩全过程】以 基于大数据的智能推送系统设计与实现为例,包含答辩的问题和答案
个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...
如何零配置搭建专业级视觉交互系统:MediaPipe TouchDesigner完全指南
如何零配置搭建专业级视觉交互系统:MediaPipe TouchDesigner完全指南 【免费下载链接】mediapipe-touchdesigner GPU Accelerated MediaPipe Plugin for TouchDesigner 项目地址: https://gitcode.com/gh_mirrors/me/mediapipe-touchdesigner 想要在TouchDes…...
ollama-QwQ-32B量化部署:在4GB内存设备运行OpenClaw的配置
ollama-QwQ-32B量化部署:在4GB内存设备运行OpenClaw的配置 1. 为什么要在低配设备上折腾大模型? 去年冬天,我在树莓派上第一次尝试部署OpenClaw时,被现实狠狠教育了一顿——32GB内存的笔记本跑得飞起,换到4GB的树莓派…...
async-http-client原生镜像大小优化:GraalVM裁剪终极指南 [特殊字符]
async-http-client原生镜像大小优化:GraalVM裁剪终极指南 🚀 【免费下载链接】async-http-client Asynchronous Http and WebSocket Client library for Java 项目地址: https://gitcode.com/gh_mirrors/as/async-http-client 在当今云原生和微服…...
从零开始:OCAT图形化配置工具让OpenCore黑苹果安装变得简单
从零开始:OCAT图形化配置工具让OpenCore黑苹果安装变得简单 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore(OCAT) 项目地址: https://gitcode.com/gh_mirrors/oc/OCAuxiliaryTools 还在为复杂的…...
Qwen3-ASR-1.7B开源ASR教程:适配国产昇腾/寒武纪平台的移植可行性分析
Qwen3-ASR-1.7B开源ASR教程:适配国产昇腾/寒武纪平台的移植可行性分析 1. 项目背景与模型介绍 「清音听真」是基于Qwen3-ASR-1.7B语音识别引擎的高精度转录平台。作为0.6B版本的跨代升级,这个1.7B参数的模型在复杂语音场景处理能力上实现了显著提升。 …...
Phi-4-Reasoning-Vision开源大模型实践:图文多模态输入格式与Phi-4模型要求对齐
Phi-4-Reasoning-Vision开源大模型实践:图文多模态输入格式与Phi-4模型要求对齐 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡RTX 4090环境优化。该工具严格遵循官方SYSTEM…...
