0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何把两个数据返回给调用函数

学益得智能硬件 来源:学益得智能硬件 2025-01-08 10:15 次阅读

函数的处理结果包含两个数据,如何把两个数据返回给调用函数?

第一种,把两个数据封装成一个结构体,函数返回结构体。

调用函数的地方同样用结构体去接收函数的返回值。

第二种,把返回值保存在形参中。

既然已经知道函数会返回两个数据,提前申请两个元素的内存,并且把数组作为参数传递过去,把返回值放在数组中就行。

第三种,定义一个全局的结构体变量,这样可以不用传参也不用返回,直接操作全局数据。

比较典型的错误写法有两种。

第一种,在函数内部定义一个数组,直接把数组返回,这是典型的返回局部变量地址,不可取。

第二种,直接返回两个数据,但是这是C语言,目前还不支持这种操作。

还有没有其他方法,欢迎大家在评论区补充。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7081

    浏览量

    89179
  • 函数
    +关注

    关注

    3

    文章

    4338

    浏览量

    62743

原文标题:让函数返回两个数据

文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HAL库的函数调用示例

    HAL(Hardware Abstraction Layer,硬件抽象层)库是STM32等微控制器中常用的库,它为开发者提供了访问和控制硬件设备的接口。以下是一些常用的HAL库函数及其调用示例: 一
    的头像 发表于 12-02 14:01 515次阅读

    同样是函数,在C和C++中有什么区别

    值,即使没有数据返回,也得写 void。 第二个函数名。 C语言的函数名绝对不能重名,除了用上 weak 这样的黑科技。同一个项目中,函数
    的头像 发表于 11-29 10:25 366次阅读

    常用SQL函数及其用法

    SQL(Structured Query Language)是一种用于管理和操作关系数据库的编程语言。SQL 提供了丰富的函数库,用于数据检索、数据更新、
    的头像 发表于 11-19 10:18 332次阅读

    ESP8266收到重传的UDP数据包,则udp接收回调函数调用次,怎么解决?

    我们使用 esp8266 开发了一个网格系统。 在所有开发完成时,我们发现了一个关键问题。 如果ESP8266收到重传的 UDP 数据包,则 udp 接收回调函数调用次。 (*
    发表于 07-18 06:29

    ESP8266配网失败如何返回消息APP?

    我想知道,用ESP-TOUCH8266配网时,如果8266由于某种原因(例如密码不对)无法连上AP,8266可以失败的原因返回APP吗? 我之前想过另外单独建立一个UDP连接,
    发表于 07-11 07:53

    CC2642R用接口函数发送数据到APP端,每次调用后都是返回0x16,为什么?

    Part Number: CC2642R SDK版本:simplelink_cc13xx_cc26xx_sdk_5_40_00_40 问题描述: 1、调用接口函数发送数据到APP端,extern
    发表于 05-30 07:57

    STM32CubeIde生成的工程,使用printf函数没有调用_write和__io_putchar函数,为什么?

    (int ch) 函数,发现没有串口没有输出,使用SWD进行debug,并对syscalls.c中的_write函数以及重写的io_putchar函数打了断点,结果printf执行后,这两个
    发表于 05-24 06:13

    函数多层调用的主要注意事项分析

    应用方案设计中,开发者经常会碰到某个子函数需要多次多级调用的情况。
    的头像 发表于 03-27 15:36 942次阅读
    子<b class='flag-5'>函数</b>多层<b class='flag-5'>调用</b>的主要注意事项分析

    传感器之外—两个数据库之间的“连接”查询

    年后的小编在写一些代码,没有及时更新我们的公众号,干脆,先把其中涉及到数据库的的一些操作,尤其是不同数据库,多个表的“连接”查询的操作过程小结一下供各位参考。毕竟今天这个数据时代,大量数据
    的头像 发表于 03-12 14:54 529次阅读
    传感器之外—<b class='flag-5'>两个数据</b>库之间的“连接”查询

    arcgis中如何关联两个属性表

    字段,这是进行关联的前提。关联字段是两个表中共有的字段,通过这个字段可以将两个表中的数据进行匹配和关联。 打开ArcMap软件,加载需要进行关联的两个数据表。可以通过“添加
    的头像 发表于 02-25 11:01 4322次阅读

    PSOC同时使用两个Em_EEPROM,有一个数据会丢失的原因?

    PSOC同时使用两个Em_EEPROM,现在发现有一个数据会丢失,想查看两个Em_EEPROM的起始地址和结束地址,在哪里可以看的到?
    发表于 02-21 07:20

    内联函数定义 为什么需要内联函数

    inline关键字是C99标准的型关键字,其作用是将函数展开,函数的代码复制到每一个调用处。
    的头像 发表于 02-19 12:20 559次阅读

    verilog中函数和任务对比

    在verilog中,函数和任务均用来描述共同的代码段,并且在模式内任意位置被调用,提高代码效率,让代码更加的直观,提高代码可读性。但是在实际使用的过程中,函数和任务也存在诸多的不同,下面将对而这进行
    的头像 发表于 02-12 18:43 898次阅读

    linux用gdb调试遇到函数调用怎么办?

    linux用gdb调试遇到函数调用怎么办? 在Linux上使用GDB调试时,遇到函数调用是一个常见的情况。函数
    的头像 发表于 01-31 10:33 734次阅读

    如果使用FCALL调用函数而使用RET返回的话, 就会发生CSA泄露怎么解决?

    FCALL调用函数不会自动存储Upper Context, 需要使用FRET进行返回, 如果使用FCALL调用函数而使用RET
    发表于 01-26 07:57