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

評(píng)論