函數(shù)的處理結(jié)果包含兩個數(shù)據(jù),如何把兩個數(shù)據(jù)返回給調(diào)用函數(shù)?
第一種,把兩個數(shù)據(jù)封裝成一個結(jié)構(gòu)體,函數(shù)返回結(jié)構(gòu)體。
調(diào)用函數(shù)的地方同樣用結(jié)構(gòu)體去接收函數(shù)的返回值。
第二種,把返回值保存在形參中。
既然已經(jīng)知道函數(shù)會返回兩個數(shù)據(jù),提前申請兩個元素的內(nèi)存,并且把數(shù)組作為參數(shù)傳遞過去,把返回值放在數(shù)組中就行。
第三種,定義一個全局的結(jié)構(gòu)體變量,這樣可以不用傳參也不用返回,直接操作全局數(shù)據(jù)。
比較典型的錯誤寫法有兩種。
第一種,在函數(shù)內(nèi)部定義一個數(shù)組,直接把數(shù)組返回,這是典型的返回局部變量地址,不可取。
第二種,直接返回兩個數(shù)據(jù),但是這是C語言,目前還不支持這種操作。
還有沒有其他方法,歡迎大家在評論區(qū)補充。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7298瀏覽量
93594 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4401瀏覽量
66541
原文標題:讓函數(shù)返回兩個數(shù)據(jù)
文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
調(diào)用Cy_ReadFuseByte()函數(shù),返回0xF0000005是怎么回事?
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù)
S32K144使用MCAL配置MCU時鐘時,調(diào)用Mcu_GetPLlStatus()函數(shù)沒有返回PLL_LOCKED信號的原因?
求助,關(guān)于STM32G070調(diào)用HAL_I2C_Mem_Read_IT測試疑問求解
STM32H747I DSI模塊采用一個數(shù)據(jù)通道無法顯示圖片怎么解決?
調(diào)用DLPC34XX_WriteOperatingModeSelect(DLPC34XX_OM_SENS_INTERNAL_PATTERN)函數(shù),返回的是1,為什么?
C語言如何處理函數(shù)的返回值
EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

如何把兩個數(shù)據(jù)返回給調(diào)用函數(shù)
評論