首页 > 其他分享 >一.函数指针的创建 二.函数指针的使用

一.函数指针的创建 二.函数指针的使用

时间:2024-10-17 20:49:56浏览次数:8  
标签:函数 区别 创建 地址 使用 函数指针 我们 变量

变量有地址,数组也有地址

那么函数是否有地址呢?我们可以来试一下f69b81c2c8bd48888c45fcf3e3926821.png

 

我们可以看到函数有地址 

之前我们知道对数组取地址是个地址,数组名拿到的也是个地址

那对于函数来说呢?是不是也存在函数名和取地址函数名两个地址呢?我们可以通过代码来验证一下139912d9e95e4dbfa01996df65816a29.png

 

 那么这俩地址代表的有区别吗吗?

答案是没有区别

取地址函数名和函数名都是函数的地址,没有区别

我们通过这样的方式来创建函数指针变量1ef6e43cc14448d8b37a24b038c7c6f8.png

当我们去掉p的时候,就是指针的类型 

 

这里面的变量可加可不加479cddb82b16497c87356c7a80db4d94.png

 只要交代好清楚这个p指向的函数的参数的个数和类型就行

我们通过这样来使用指针变量50fe98d32ecb47848349c395937e5f26.png 

且因为&函数名和函数名没有区别,我们可以看到,把&删除之后,结果还是一样50a62c4e7e804177a58547b23f598379.png 

当我们正常通过函数名的方式也可以调用db33cb472a0a4eff890c436d73f7afbf.png

且因为p中存的就是ADD,所以我们是不是可以在使用函数指针时, 把解引用符号给去掉,我们试一下55d32c4dc6694a64b7ae6ff9de2e9bd1.png

 所以这个*相当于一个摆设,不管写多少个*都无所谓。当然还是(*p),更容易理解。如果写*,必须要有()

 

标签:函数,区别,创建,地址,使用,函数指针,我们,变量
From: https://blog.csdn.net/2401_87284659/article/details/143026653

相关文章

  • 【Golang】踩坑记录:make()创建引用类型,初始值是不是nil!!
    文章目录起因二、得记住的知识点1.make()切片,初始化了吗?2.make()切片不同长度容量,append时的差别3.切片是指向数组的指针吗?4.切片扩容时,重新分配内存,原切片的数据怎么办?三、咳咳,总结一下起因序列化的时候居然给我空指针报错,哪nil啦???猛一顿查,查到了创建的结构体......
  • 使用vs2022将.net8的应用程序发布为一个单独文件
    在使用.NetCore3.1时,可以通过设置以下工程配置文本来将项目发布为一个单独的应用程序文件:<ProjectSdk="Microsoft.NET.Sdk.WindowsDesktop"><PropertyGroup><TargetFramework>netcoreapp3.1</TargetFramework><UseWPF>true</UseWPF> <Publi......
  • 【视频讲解】共享单车使用量预测:RNN, LSTM,GRU循环神经网络和传统机器学习
    全文链接:https://tecdat.cn/?p=37899原文出处:拓端数据部落公众号分析师:XuyanReng 随着城市化进程的加速,共享单车作为一种绿色、便捷的出行方式,在城市交通中扮演着日益重要的角色。准确预测共享单车的使用量对于优化资源配置、提高运营效率以及满足用户需求具有关键意义。一......
  • D-Robotics(地瓜机器人)RDK X5闪连(RDK Studio使用教程)
    官方简介RDKStudio下载Step1(SD卡烧写)1.读卡器烧写读卡器+MicroSD卡,具体可参考此链接MicroSD卡烧录2.RDKStudio烧写RDKX5按着boot按钮上电,RDKX5就相当于读卡器,就可以插着闪连口给SD卡烧写镜像根据官方操作,插线上电,进入烧写模式注意:烧写模式......
  • 【工具使用】MSF使用_MSF中kiwi(mimikatz)模块
    一、简介:kiwi模块:mimikatz模块已经合并为kiwi模块;使用kiwi模块需要system权限,所以我们在使用该模块之前需要将当前MSF中的shell提升为system。二、前提:1.提权到system权限当前权限是administrator用户若不是,需要利用其他手段先提权到administrator用户。然后adminis......
  • IntelliJ IDEA 2024 安装使用 (附加激活码、补丁,亲测有效!)
    第一步:下载IDEA安装包访问IDEA官网,下载IDEA2024.1.4版本的安装包,下载链接如下:idea官方链接也可以在这里点击下载idea下载idea第二步:安装IDEA点击xx关掉程序!第三步:下载补丁下载地址(里面包含激活码)https://pan.quark.cn/s/9dbfe698c064补丁下载成功后,......
  • PYNQ z2 使用xadcps读取xadc内部电压温度
    使用xadcps只能和JTAG一样读取温度值和电压值,属于内部通道,读取不了外部通道的数据添加zynq700核后进行配置1.在PS-PLConfiguration中,取消勾选general里面的FCLK_RSTEN_N以及M_AXI_GP0_Interface2.在PeripheralIOPins中勾选1415对应的UART0,同时对板卡电压进行配置,BA......
  • vue3中的自定义hooks的使用,以及和mixin的区别
    1、理解hooks的概念:hook本质是一个函数,将setup函数中使用的CompositionAPI进行封装,类似于Vue2中的mixin2、mixin相比hook的缺点:(1)变量来源不明确(隐式传入),不利于阅读,使代码变得难以维护(2)同名属性、同名方法无法融合,可能会导致冲突3、例一:第一步:在src/hooks/index.js文件:imp......
  • pix2pix模型测试时不使用model.eval()
    目录pix2pix特殊之处理论基础:model.eval()、model.train()、withtorch.no_grad()model.eval()、model.train()withtorch.no_grad()实际操作参考资料pix2pix特殊之处pix2pix模型在测试时与众不同的特点:1、使用dropout,引入随机性,否则容易无论什么输入都生成一样的图2、使用Bat......
  • 无线串口模块—配置软件以及串口助手的使用
    1、适用型号本文适用于无线串口模块调试。文中的软件界面截图,可能会由于软件系列、软件版本不同而略有区别。2、使用参数设置软件RF_Setting使用方法(以E32-433TBL-01型号lora模块开发测试套件说明)说明:E32-433TBL-01是贴片串口模块结合USB转TTL串口底板形成的无线模块开发成套......