函数的处理结果包含两个数据,如何把两个数据返回给调用函数?
第一种,把两个数据封装成一个结构体,函数返回结构体。
调用函数的地方同样用结构体去接收函数的返回值。
第二种,把返回值保存在形参中。
既然已经知道函数会返回两个数据,提前申请两个元素的内存,并且把数组作为参数传递过去,把返回值放在数组中就行。
第三种,定义一个全局的结构体变量,这样可以不用传参也不用返回,直接操作全局数据。
比较典型的错误写法有两种。
第一种,在函数内部定义一个数组,直接把数组返回,这是典型的返回局部变量地址,不可取。
第二种,直接返回两个数据,但是这是C语言,目前还不支持这种操作。
还有没有其他方法,欢迎大家在评论区补充。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据
+关注
关注
8文章
7081浏览量
89179 -
函数
+关注
关注
3文章
4338浏览量
62743
原文标题:让函数返回两个数据
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
HAL库的函数调用示例
HAL(Hardware Abstraction Layer,硬件抽象层)库是STM32等微控制器中常用的库,它为开发者提供了访问和控制硬件设备的接口。以下是一些常用的HAL库函数及其调用示例: 一
同样是函数,在C和C++中有什么区别
值,即使没有数据返回,也得写 void。 第二个函数名。 C语言的函数名绝对不能重名,除了用上 weak 这样的黑科技。同一个项目中,函数重
常用SQL函数及其用法
SQL(Structured Query Language)是一种用于管理和操作关系数据库的编程语言。SQL 提供了丰富的函数库,用于数据检索、数据更新、
ESP8266收到重传的UDP数据包,则udp接收回调函数会调用两次,怎么解决?
我们使用 esp8266 开发了一个网格系统。
在所有开发完成时,我们发现了一个关键问题。
如果ESP8266收到重传的 UDP 数据包,则 udp 接收回调函数会调用两次。
(*
发表于 07-18 06:29
ESP8266配网失败如何返回消息给APP?
我想知道,用ESP-TOUCH给8266配网时,如果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
传感器之外—两个数据库之间的“连接”查询
年后的小编在写一些代码,没有及时更新我们的公众号,干脆,先把其中涉及到数据库的的一些操作,尤其是不同数据库,多个表的“连接”查询的操作过程小结一下供各位参考。毕竟今天这个数据时代,大量数据
arcgis中如何关联两个属性表
字段,这是进行关联的前提。关联字段是两个表中共有的字段,通过这个字段可以将两个表中的数据进行匹配和关联。 打开ArcMap软件,加载需要进行关联的两个数据表。可以通过“添加
PSOC同时使用两个Em_EEPROM,有一个数据会丢失的原因?
PSOC同时使用两个Em_EEPROM,现在发现有一个数据会丢失,想查看两个Em_EEPROM的起始地址和结束地址,在哪里可以看的到?
发表于 02-21 07:20
verilog中函数和任务对比
在verilog中,函数和任务均用来描述共同的代码段,并且在模式内任意位置被调用,提高代码效率,让代码更加的直观,提高代码可读性。但是在实际使用的过程中,函数和任务也存在诸多的不同,下面将对而这进行
linux用gdb调试遇到函数调用怎么办?
linux用gdb调试遇到函数调用怎么办? 在Linux上使用GDB调试时,遇到函数调用是一个常见的情况。函数
如果使用FCALL调用函数而使用RET返回的话, 就会发生CSA泄露怎么解决?
FCALL调用的函数不会自动存储Upper Context, 需要使用FRET进行返回, 如果使用FCALL调用函数而使用RET
发表于 01-26 07:57
评论