当前位置: 首页 > news >正文

指针 (六)

OK,书接上回,咱们继续:

一 . 函数指针变量

(1)函数指针变量的创建

首先我们得明白,什么是函数指针变量呢?从我们之前学习过的整型指针,数组指针的相关知识当中,通过类比推理,我们不难得出:函数指针变量就是用来存放函数地址的,而未来当我们需要时,就可以通过存放的这个地址我们就可以调用该函数

那么函数的地址是什么呢?我们多说无益,直接实践得出结论:

由此可见,我们的函数是的的确确有地址的,并且其性质可以说跟我们的数组一样,函数的地址也就等同于函数名

既然函数也有地址,那我们怎样将它的地址存起来呢?当然是指针咯,这就是我们函数指针变量的意义,函数指针变量的写法跟数组指针非常类似,格式如下:

(2)函数指针变量的使用

我们明白了函数指针变量是用来存放函数地址的,那么函数指针的使用就很明了了嘛,就是通过函数指针调用指针指向的函数:

二 . typedef 关键字

typedef 是用来对类型重命名的,诸君可以想一想,我们什么时候需要对类型进行重命名呢?当我们的一个函数指针类型非常冗长、复杂,且我们还需要反复调用时,我们是不是就可以对这个函数指针类型进行一个重命名,将其简化呢?这就是 typedef 的作用及意义,格式如下:

上图是普通类型的重命名,指针类型同样适用

那我们对于数组指针类型的重命名呢?

有图可知,我们经过上面的几个例子,习惯性的将新类型名放在最后,其实我们仔细观察可以发现,新名字应该是紧接着 * 后面的,VS 也报错并给我们提示了,正确格式是:

三 . 函数指针数组

之前我们了解过指针数组,例如:

那么函数指针数组又是什么呢?就是把函数的地址储存到这个数组当中,其格式如下:

四 . 转移表

我们这里先写一个一般情况下实现加、减、乘、除的计算器:

这样子简单,但是很低端,不够高级昂,太繁琐,我们的 case 语句所占篇幅太多且重复,那我们怎么办呢?相信聪明的诸君已经想到了解决方案,学以致用昂,运用我们刚刚学习到的函数指针数组,将每个分支的函数以数组的形式放在我们的一个指针当中,需要调用的时候就通过地址直接调用:

这就是我们函数指针数组的灵活运用,诸君看懂了么?

OKK,今天有关指针的部分咱们就说到这儿,欲知后事如何,且听下回分解,咱们下期再见咯,加油加油,与诸君共勉!!!

相关文章:

指针 (六)

OK,书接上回,咱们继续: 一 . 函数指针变量 (1)函数指针变量的创建 首先我们得明白,什么是函数指针变量呢?从我们之前学习过的整型指针,数组指针的相关知识当中,通过类…...

Linux下vscode配置C++和python编译调试环境

Visual Studio Code (简称 VSCode) 是由微软开发的一款免费、开源、跨平台的代码编辑器。它支持 Windows、macOS 和 Linux 操作系统,并且内置对多种编程语言的支持,包括但不限于 C/C、Python、JavaScript、TypeScript、Java 和 Go 等。VSCode 主要用于编…...

OrionX GPU算力池助力AI OCR场景应用

01 AI OCR的历史及概念 OCR(Optical Character Recognition,光学字符识别)是指采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文…...

移动端如何实现智能语音交互

智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实…...

HTTPS:构建安全通信的基石

HTTPS(Hypertext Transfer Protocol Secure),作为互联网上安全通信的基石,通过在HTTP基础上引入SSL/TLS协议层,实现了数据传输的加密,确保了信息的机密性、完整性和真实性。这一过程涉及多个精细设计的步骤…...

OceanBase 企业版OMS 4.2.3的使用

OceanBase 企业版OMS 4.2.3的使用 一、界面说明 1.1 概览 1.2 数据迁移 1.3 数据同步 1.4 数据源管理 1.5 运维监控 1.6 系统管理 二、功能说明 注意: 在数据迁移与数据同步的功能中,如果涉及到增量操作: 1.需要使用sys租户的用…...

STM32中的计时与延时

前言 在裸机开发中,延时作为一种规定循环周期的方式经常被使用,其中尤以HAL库官方提供的HAL_Delay为甚。刚入门的小白可能会觉得既然有官方提供的延时函数,而且精度也还挺好,为什么不用呢?实际上HAL_Delay中有不少坑,而这些也只是HAL库中无数坑的其中一些。想从坑里跳出来…...

[论文笔记] CSFCN

摘要 上下文建模或多级特征融合方法已被证明可以有效提高语义分割性能。 然而,它们并不是专门处理像素上下文不匹配和空间特征不对齐的问题,并且高计算复杂度阻碍了它们在实时场景中的广泛应用。 在这项工作中,我们提出了一种轻量级的上下文…...

mac电脑命令行获取电量

在 macOS 上,有几个命令行工具可以用来获取电量信息,最常用的是 pmset 命令。你可以通过以下方式来查看电池状态和电量信息: 查看电池状态: pmset -g batt这个命令会返回类似下面的输出: Now drawing from Battery Pow…...

2024桥梁科技两江论坛——第二届桥梁工程安全与韧性学术会议

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网:https://ais.cn/u/vEbMBz提交检索:EI Compendex、IEEE Xplore、Scopus 三、大会介绍 2024年桥梁科技两江论坛——第二届桥梁工程…...

性能测试-jmeter的控制器(十六)

一、if控制器 需求:使用“用户自定义变量”定义name变量,值可以是“baidu”或“itcast”,使用变量值,控制是否访问对应网站。 1、步骤: 在测试计划中添加用户定义的变量name,取值可为baidu或itcast添加两个http请求&#xff1a…...

直播开播极速流,如何有效接入?

如何有效接入开播极速流?为什么你的直播流速会逐渐下降?开播极速流实际上是我们流速的巅峰阶段,这一阶段的流量构成通常是70%的老粉丝和30%的新粉丝。你是否意识到这一点呢? 在直播开始时,欢迎新老粉丝的互动很重要。比…...

stm32 W25Q数据存储

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、cubemx配置二、keil中文件修改与配置三、几个重要函数的说明四、DMA方式传输(待写)总结 前言 W25Q128 容量为128位 128/8 16 也就…...

深度学习的笔记

1. 从huggingface上仅下载pytorch模型权重和配置文件到服务器 import os import shutil from huggingface_hub import snapshot_download# 直接指定模型和下载路径 model_name openai/clip-vit-base-patch32 download_path /home/xxx/.cache/huggingface/hub/models--anas-a…...

音视频入门基础:AAC专题(8)——FFmpeg源码中计算AAC裸流AVStream的time_base的实现

一、引言 本文讲解FFmpeg源码对AAC裸流行解复用(解封装)时,其AVStream的time_base是怎样被计算出来的。 二、FFmpeg源码中计算AAC裸流AVStream的time_base的实现 FFmpeg对AAC裸流进行解复用(解封装)时,其…...

React 组件的基本使用,useState 状态变量的使用

React 组件 组件是什么 ##### 概念:一个组件就是用户界面的一部分,它可以有自己的逻辑和外观,组件之间可以相互嵌套,也可以多次复用。 在 React,一个组件就是首字母大写的函数,内部存放了组件的逻辑和视…...

空洞骑士 Hollow Knight 攻略

文章目录 Part.I IntroductionPart.II 攻略Chap.I 地图Chap.II 护符Chap.III BOSSChap.IV 魔法 Reference Part.I Introduction 《空洞骑士》是独立团队 Team Cherry 开发的一款 2D 类银河恶魔城动作冒险游戏。本文记录笔者玩此游戏所积累的一些经验。 「在《空洞骑士》中打造…...

CSP-J 算法基础 广度优先搜索BFS

文章目录 前言广度优先搜索是什么广度优先搜索的实现BFS 的具体编程实现举例:广度优先搜索的具体步骤初始状态:步骤 1:加入起点节点 1步骤 2:访问队列中的节点 1,加入其邻居节点 2 和 4步骤 3:访问队列中的…...

What is new in C# 7,8,9,10

目录 Whats new in C# 7 C# 7 in Visual Studio 2017 Out Variables Pattern Matching Tuples (System.ValueTuple) Deconstruct解构 Local Functions Ref Returns and Locals Expression Bodied Members Throw Expressions Generated Async R…...

Sqlserver常用sql

1. 数据库和表操作 创建数据库 CREATE DATABASE DatabaseName; 删除数据库 DROP DATABASE DatabaseName; 创建表 CREATE TABLE TableName ( Column1 DataType1, Column2 DataType2, ... ); 删除表 DROP TABLE TableName; 2. 数据操作 插入数据 INSERT INTO TableNam…...

原神玩家效率革命:BetterGI开源自动化解决方案全解析

原神玩家效率革命:BetterGI开源自动化解决方案全解析 【免费下载链接】better-genshin-impact 🍨BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动派遣 | 一键强化 - UI Automation Testing Tools For …...

HRNet代码逐行解析:从BasicBlock到HighResolutionNet,手把手教你读懂多分辨率融合

HRNet代码深度解析:从基础模块到多分辨率融合实战 在计算机视觉领域,HRNet(High-Resolution Network)因其独特的并行多分辨率架构而备受关注。与传统的串行降采样网络不同,HRNet在整个前向传播过程中始终保持高分辨率表…...

快速上手Qwen3-4B:无需配置,GPU自适应优化的文本对话服务

快速上手Qwen3-4B:无需配置,GPU自适应优化的文本对话服务 想体验一个开箱即用、回答流畅、还能帮你写代码的AI助手吗?今天要介绍的Qwen3-4B Instruct-2507镜像,就是这样一个“傻瓜式”的纯文本对话服务。它基于阿里通义千问的官方…...

Winhance中文版:Windows系统优化终极指南,让你的电脑飞起来!

Winhance中文版:Windows系统优化终极指南,让你的电脑飞起来! 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. PowerShell GUI application designed to optimize and customize your Windows experience. 项目地址: https…...

OpenClaw隐私保护设计:GLM-4.7-Flash本地处理医疗笔记整理

OpenClaw隐私保护设计:GLM-4.7-Flash本地处理医疗笔记整理 1. 为什么医疗数据必须留在本地? 去年帮家人整理慢性病就诊记录时,我遇到一个两难选择:要么手动整理上百张化验单和处方笺,要么使用云端OCR工具自动处理。当…...

OpenClaw+GLM-4.7-Flash数据助手:Excel报表自动生成与分析

OpenClawGLM-4.7-Flash数据助手:Excel报表自动生成与分析 1. 为什么需要自动化数据助手 作为一位经常与Excel报表打交道的分析师,我每天要花大量时间重复执行数据清洗、格式转换和基础分析。最痛苦的是每月底需要手动合并十几个分公司的销售数据&#…...

为Jetson AGX添加自定义硬件:手把手编写设备树节点驱动LED与PPS

Jetson AGX硬件扩展实战:从设备树节点到LED与PPS驱动开发 在嵌入式开发领域,Jetson AGX Xavier凭借其强大的计算能力和丰富的接口资源,成为工业控制、机器人视觉等高性能场景的首选平台。但要让这块开发板真正发挥潜力,掌握自定义…...

FastAPI负载测试:持续集成的完整指南

FastAPI负载测试:持续集成的完整指南 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi FastAPI作为高性能、易学习的现代Pyth…...

PT-Plugin-Plus:极简高效的PT种子下载辅助工具

PT-Plugin-Plus:极简高效的PT种子下载辅助工具 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站的种子。 项目地址: h…...

UniApp跨平台跳转外部链接全攻略:H5、App与小程序实战解析

1. UniApp跳转外部链接的核心逻辑 跨平台开发最头疼的就是"一套代码适配多个平台",而外部链接跳转恰恰是平台差异最明显的功能之一。我做过十几个UniApp项目,发现90%的开发者第一次遇到这个问题都会懵——为什么在H5能用的代码,打包…...