函數的處理結果包含兩個數據,如何把兩個數據返回給調用函數?
第一種,把兩個數據封裝成一個結構體,函數返回結構體。
調用函數的地方同樣用結構體去接收函數的返回值。
第二種,把返回值保存在形參中。
既然已經知道函數會返回兩個數據,提前申請兩個元素的內存,并且把數組作為參數傳遞過去,把返回值放在數組中就行。
第三種,定義一個全局的結構體變量,這樣可以不用傳參也不用返回,直接操作全局數據。
比較典型的錯誤寫法有兩種。
第一種,在函數內部定義一個數組,直接把數組返回,這是典型的返回局部變量地址,不可取。
第二種,直接返回兩個數據,但是這是C語言,目前還不支持這種操作。
還有沒有其他方法,歡迎大家在評論區補充。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據
+關注
關注
8文章
7080瀏覽量
89175 -
函數
+關注
關注
3文章
4338瀏覽量
62738
原文標題:讓函數返回兩個數據
文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
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
評論