指针函数等

news2024/11/27 4:35:57

1.指针函数

本质上是一个函数,返回值是这个类型的指针

因为a的地址存放在fun函数中,程序结束后,地址释放,所以调用时为野指针。

a为局部变量,注意生命周期

 解决办法1.使用static延长变量a的生命周期,

2.地址传递

宗旨:保证存放局部变量的地址不释放

3.使用malloc主动申请堆区空间

2.函数指针 

1.什么是函数指针
函数指针是一个指向函数的指针变量,它可以指向某个函数的入口地址,,使得程序可以通过该指针变量调用该函数
函数指针通常用于函数回调的场景


2.函数指针的定义

函数返回值类型(*指针变量名称)(参数列表)


3.函数指针和指针函数的区别
最简单的辨别方式就是看函数名前面的指针*号有没有被括号 ()包含,如果被包含就是函数指针反之则是指针函数
指针函数本质是一个函数,其返回值为指针
函数指针本质是一个指针,其指向一个函数

3.函数指针数组

1.什么是函数指针数组
保存函数地址的数组
2.函数指针数组的定义
函数返回值类型(*数组名[数组元素个数])参数列表)
3.优点
多个类似函数,封装一起,提升阅读性

4.回调函数

1.什么是回调函数
回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现。最著名的回调函数调用有C/C++标准库stdlib.h/cstdlib中的快速排序函数qsort和二分查找函数bsearch中都会要求的一个与strcmp类似的参数,用于设置数据的比较方法回调函数的某一个参数是一个函数指针 

2.适用场景

a.线程:第三个参数为函数名

b. 信号

c.qsort

d.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1169205.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cmake find_package、引用GDAL 初步学习

上次的源码的CMakeLists.txt文件里有 find_package(GDAL REQUIRED) 这句; 从字面意思看此源码需要GDAL库; 查了一下,find_package 指令的基本功能是查找第三方库,并返回其细节; 我当前GDAL安装在D:\GDAL; 先把它的CMakeLists.txt重命名为别的,不使用; 新建一个C…

剑指offer --- 从尾到头打印链表

目录 前言 一、读懂题目 二、思路分析 三、代码呈现 总结 前言 当我们需要访问单向链表中特定位置值时,算法复杂度往往是O(n),在得到靠后节点的值时不可避免地从前向后遍历访问链表,那么当应题目要求从尾到头打印链表时,至少…

数据结构第二课 -----线性表之顺序表

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

2022年06月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 如下所示的2行代码,最后print()函数打印出来的结果是?( ) c = [[赵大,21,男,北京],

【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation

【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation 文章目录 【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation1. 来源2. 介绍3. 前置工作3.1 序列推荐的目标3.2 数据增强策略3.3 序列推荐的不变对比学习 4. 方法介绍4…

力扣每日一题94:二叉树的中序遍历

题目描述: 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入&#x…

速学数据结构 | 循环队列怎么写才最高效?只需要掌握这些技巧

🎬 鸽芷咕:个人主页 🔥 个人专栏:《Linux深造日志》《C干货基地》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言一、什么是循环队列?二、如何实现循环队列?2.1 循环队列的结构2.2 循环…

leetcode:268. 丢失的数字(异或运算)

一、题目 函数原型: int missingNumber(int* nums, int numsSize) 二、思路: 0 - n缺失一个数字,那么将数组中所有的数字按位异或,再按位异或0 - n的所有数字,由于 x ^ x 0,0 ^ x x,因此最终运…

Win10/Win11总是自动更新,如何关闭自动更新?

参考:https://www.zhihu.com/search?q%E5%85%B3%E9%97%ADwindows%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0&search_sourceSuggestion&utm_contentsearch_suggestion&typecontent 手动关闭 1 Windows服务 1.1 WinR输入services.msc打开服务 1.2 找到Windows Update…

黑马程序员项目-黑马点评

黑马点评1 短信登录 基于Session实现登录流程 发送验证码: 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机号 如果手机号合法,后台此时生成对应的验证码,同时将验证码进行…

从MFC初始化过程看rc文件的行为,并剖析关联控件变量的实质

以MFC对话框程序为例: 当我们打开资源编辑器时就可以很容易的添加各种控件窗口,资源编辑器实际上操作的是rc文件;那么这些控件窗口是何时被MFC创建与管理的 没有关联控件变量前,在资源编辑器中依然可以容易拖动控件,并显示出来;这个控件窗口是如何被创建和管理的: 资源编…

【C语法学习】13 - fscanf()函数

文章目录 1 函数原型2 参数3 返回值4 比较5 示例5.1 示例15.2 示例2 1 函数原型 fscanf():从指定流stream读取格式化输入,函数原型如下: int fscanf(FILE *stream, const char *format, ...)2 参数 fscanf()函数参数包括三部分&#xff1a…

Node.js 中解析 HTML 的方法介绍

在 Web 开发中,解析 HTML 是一个常见的任务,特别是当我们需要从网页中提取数据或操作 DOM 时。掌握 Node.js 中解析 HTML 的各种方式,可以大大提高我们提取和处理网页数据的效率。本文将介绍如何在 Node.js 中解析 HTML。 基本概念 HTML 解析…

【广州华锐互动】VR野外求生技能学习,让你感受真实的冒险之旅!

随着科技的迅速发展,虚拟现实(VR)技术为人们提供了一个全新的、身临其境的探险体验。通过将用户带入一个仿真的、沉浸式的虚拟环境,VR互动体验让人们在安全的氛围中感受到野外探险的乐趣。本文将从视觉呈现、沉浸式体验、交互性和应用范围四个方面&#…

MATLAB颜色索引表---持续更新中--各个平台都可使用

MATLAB颜色索引表—持续更新中–各个平台都可使用

探索ChatGPT在学术写作中的应用与心得

随着人工智能的迅猛发展,ChatGPT作为一种强大的自然语言处理模型,逐渐在学术界引起了广泛的关注。本文将探讨ChatGPT在学术写作中的应用,并分享使用ChatGPT进行学术写作时的一些经验和心得。 01 — ChatGPT在学术写作中的应用 1.文献综述和…

【ChatOCR】OCR+LLM定制化关键信息抽取(附开源大语言模型汇总整理)

目录 背景技术方案存在的问题及解决思路关键信息提取结果其他解决方案替换文心一言LangChain大型多模态模型(Large Multimodal Model, LMM) 开源大模型汇总LLaMA —— Meta 大语言模型Stanford Alpaca —— 指令调优的 LLaMA 模型Lit-LLaMA —— 基于 na…

基于单片机的语音存储与回放系统设计

博主主页:单片机辅导设计 博主简介:专注单片机技术领域和毕业设计项目。 主要内容:毕业设计、简历模板、学习资料、技术咨询。 文章目录 主要介绍一、控制系统设计1.1 系统方案设计1.2 系统工作原理 二、硬件电路设计总电路设计图 三、 软件设…

shufflenet v2 yolo

设计理念 1x1卷积进行平衡输入和输出的通道大小;组卷积要谨慎使用,注意分组数;避免网络的碎片化;减少元素级运算。 ShuffleNet v2中弃用了1x1的group convolution操作,而直接使用了input/output channels数目相同的…

win10系统nodejs的安装npm教程

1.在官网下载nodejs,https://nodejs.org/en 2,双击nodejs的安装包 3,点击 next 4,勾选I accpet the terms in…… 5,第4步点击next进入配置安装路径界面 6,点击next,选中Add to PATH ,旁边…