函数的处理结果包含两个数据,如何把两个数据返回给调用函数?
第一种,把两个数据封装成一个结构体,函数返回结构体。
调用函数的地方同样用结构体去接收函数的返回值。
第二种,把返回值保存在形参中。
既然已经知道函数会返回两个数据,提前申请两个元素的内存,并且把数组作为参数传递过去,把返回值放在数组中就行。
第三种,定义一个全局的结构体变量,这样可以不用传参也不用返回,直接操作全局数据。
比较典型的错误写法有两种。
第一种,在函数内部定义一个数组,直接把数组返回,这是典型的返回局部变量地址,不可取。
第二种,直接返回两个数据,但是这是C语言,目前还不支持这种操作。
还有没有其他方法,欢迎大家在评论区补充。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据
+关注
关注
8文章
7314浏览量
93938 -
函数
+关注
关注
3文章
4406浏览量
66812
原文标题:让函数返回两个数据
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
飞凌嵌入式ElfBoard-文件I/O的了解探究之返回错误处理与相关函数
errno仅返回数值,还需查阅错误宏定义才能知道具体错误原因,由此引入以下两个标准c库函数。perror用于在发生系统调用错误时输出有关错误信息的描述。当一个系统
发表于 11-21 08:50
控制流和函数调用的精细调整
特性,避免不必要的计算。
函数调用涉及开销,因为它需要保存当前执行环境并跳转到新的执行环境。减少函数调用,尤其是在频繁执行的循环中,可以显著提高性能。
对于简单且频繁
发表于 11-14 06:32
【HZ-RK3568开发板免费体验】基于 Select Poll的TCP发服务器
/O(POSIX的aio_系列函数)
5)信号驱动I/O(SIGIO)
一个输入操作通常包括两个不同的阶段:
1)等待数据准备好;
2)从内核向进程复制数据;
对于一个套接字的输入操作
发表于 08-19 22:01
调用Cy_ReadFuseByte()函数,返回0xF0000005是怎么回事?
。 当我们调用 Cy_ReadFuseByte() 函数时,返回的是 0xF0000005(熔断 eFuse 的软件流程中的第 5 步)
遵循架构参考手册和数据表:
“在过渡到安全或
发表于 07-24 07:08
【HarmonyOS 5】鸿蒙页面和组件生命周期函数
的 UI 结构和样式。 onDidBuild: build 方法执行完毕后调用,可用于数据初始化或额外的 UI 调整。 挂载阶段 onPageShow: 页面显示时调用。 onReady: 组件挂载
S32K144使用MCAL配置MCU时钟时,调用Mcu_GetPLlStatus()函数没有返回PLL_LOCKED信号的原因?
当我使用 MCAL 配置 MCU 时钟时,调用 Mcu_GetPLlStatus () 函数没有返回 PLL_LOCKED 信号。我发现在这个 MCU_initClock() 函数中没
发表于 04-11 07:26
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核空间与用户空间的数据拷贝之数据拷贝介绍
拷贝的字节数;get_user()和put_user()这两个函数用于在内核空间和用户空间之间进行单个数据的拷贝。get_user()函数用于从用户空间获取单
发表于 03-20 11:50
飞凌嵌入式ElfBoard ELF 1板卡-内核空间与用户空间的数据拷贝之数据拷贝介绍
和用户空间之间进行单个数据的拷贝。get_user()函数用于从用户空间获取单个数据到内核空间。put_user()函数用于将单个数据从内核
发表于 03-19 08:55
求助,关于STM32G070调用HAL_I2C_Mem_Read_IT测试疑问求解
使用两个板子,在例程I2C_TwoBoards_RestartComIT代码上进行修改:
主机调用HAL_I2C_Mem_Read_IT函数,发送内存地址16位后读10个数据;
从机
发表于 03-11 07:00
STM32H747I DSI模块采用一个数据通道无法显示图片怎么解决?
,但是显示屏黑屏。可以确定的是D0P/D0N有数据输出,但是无法在显示屏上显示。
下面是我在官方例程中修改的地方,其实就是把两个数据通道改为一个数据通道,其他地方没有动。
开发板采用
发表于 03-07 08:11
调用DLPC34XX_WriteOperatingModeSelect(DLPC34XX_OM_SENS_INTERNAL_PATTERN)函数,返回的是1,为什么?
我们在64位的代码中,调用DLPC34XX_WriteOperatingModeSelect(DLPC34XX_OM_SENS_INTERNAL_PATTERN)函数,返回的是1,意思应该是程序
发表于 02-17 08:29

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