int * function(int a )和(int*)function(int a )和int (*function(int a )区别和使用

news/2024/9/25 13:20:58/

以下是对这几种形式的详细解释和举例:

  1. int * function(int a ):这表示定义了一个函数function,它接受一个整型参数a,并返回一个整型指针。

例如:

int *getPointer(int a) {int *ptr = &a;return ptr;
}
  1. (int*)function(int a ):这是对函数function的结果进行强制类型转换,将其转换为整型指针。

  2. int (*function(int a )):这表示定义了一个指向函数的指针function,该函数接受一个整型参数a,并返回一个整型。

例如:

int add(int a, int b) {return a + b;
}int (*ptr)(int, int) = &add; 

  在这个例子中,ptr指向了函数add
  指向函数的指针可以通过以下方式使用:

  1. 像函数一样调用:通过指针间接调用所指向的函数。
  2. 传递给其他函数:可以将指向函数的指针作为参数传递给其他函数。

  例如:

int max(int a,int b)
{return a > b ? a : b;
}int main(void)
{int res;int(*ptr)(int a,int b)=&max;//int(*ptr)(int a,int b)=max;//均正确ptr = max;//ptr = &max;res = ptr(8, 24);printf("%d,%p,%p", res,max,&max);
}

  在这种情况下,ptr = maxptr = &max的效果是相同的,这是因为max本身就是函数的地址。当我们直接使用函数名max时,它就代表了函数的地址,所以ptr = max就可以让指针ptr指向函数max。而&max是取函数max的地址,这也是函数的地址。因此,这两种写法都能正确地将指针指向函数,最终得到的结果是一样的。


http://www.ppmy.cn/news/1454717.html

相关文章

使用CNN或resnet,分别在flower5,flower17,flower102数据集上实现花朵识别分类-附源码-免费

前言 使用cnn和resnet实现了对flower5,flower17,flower102数据集上实现花朵识别分类。也就是6份代码,全部在Gitee仓库里,记得点个start支持谢谢。 本文给出flower17在cnn网络实现,flower102在resnet网络实现的代码。…

21.使用哈希桶封装unordered_set和unordered_map(哈希桶的迭代器的实现)

1. hash表迭代器的实现 1.1 普通迭代器 // 由于迭代器的实现&#xff0c;需要使用哈希桶&#xff0c;但是哈希桶的实现&#xff0c;又在迭代器之后 // 因此&#xff0c;我们给出一个前置声明&#xff0c;旨在告诉系统&#xff0c;哈希桶已经被实现了 // 前置声明 template<…

[SpringBoot启动报错];Error starting ApplicationContext

报错原因&#xff1a;没有配置数据源 解决方案&#xff1a; 在application.yml中配置数据源即可

ES与关系数据库的同步练习(hotel_admin)

目录 1 es与数据库同步的方法2 实践2.1 任务介绍2.2 MQ方面操作2.2.1 声明交换机队列并且绑定2.2.2 hotel_admin端web层设置mq发送消息2.3 hotel_demo端监听接受消息并执行es操作 1 es与数据库同步的方法 方式一&#xff1a;同步调用 优点&#xff1a;实现简单&#xff0c;粗…

如何理解Go语言的逃逸分析(escape analysis)?

文章目录 什么是逃逸分析&#xff1f;逃逸的原因逃逸的影响 如何查看逃逸分析的结果&#xff1f;解决方案和示例代码减少逃逸的策略示例代码 在Go语言中&#xff0c;逃逸分析&#xff08;escape analysis&#xff09;是一个编译器优化过程&#xff0c;它决定了哪些变量会被分配…

【多模态】29、OCRBench | 为大型多模态模型提供一个 OCR 任务测评基准

文章目录 一、背景二、实验2.1 测评标准和结果2.1.1 文本识别 Text Recognition2.1.2 场景文本中心的视觉问答 Scene Text-Centric VQA2.1.3 文档导向的视觉问答 Document-Oriented VQA2.1.4 关键信息提取 Key Information Extraction2.1.5 手写数学公式识别 Handwritten Mathe…

Vue中引入ElementUI

Vue中引入ElementUI 目录 Vue中引入ElementUI安装 全库导入main.py使用 仅引入样式文件main.py使用 安装 官方文档 npm i element-ui -S全库导入 main.py import ElementUI from element-ui;Vue.use(ElementUI)使用 <template> <div class"main">&l…

五个基于8086处理器的简单汇编程序示例

以下是五个基于8086处理器的简单汇编程序示例&#xff1a; 示例一&#xff1a;加法程序 ORG 100hMOV AX, 1234H ; 将16进制数1234H加载到AX寄存器 MOV BX, 5678H ; 将16进制数5678H加载到BX寄存器 ADD AX, BX ; 将BX寄存器的值加到AX寄存器上; 假设这里有一个显示或…