0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2025-01-08 10:15 ? 次閱讀

函數(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ū)補充。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7081

    瀏覽量

    89185
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4338

    瀏覽量

    62747

原文標題:讓函數(shù)返回兩個數(shù)據(jù)

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    HAL庫的函數(shù)調(diào)用示例

    HAL(Hardware Abstraction Layer,硬件抽象層)庫是STM32等微控制器中常用的庫,它為開發(fā)者提供了訪問和控制硬件設(shè)備的接口。以下是一些常用的HAL庫函數(shù)及其調(diào)用示例: 一
    的頭像 發(fā)表于 12-02 14:01 ?515次閱讀

    同樣是函數(shù),在C和C++中有什么區(qū)別

    值,即使沒有數(shù)據(jù)返回,也得寫 void。 第二個函數(shù)名。 C語言的函數(shù)名絕對不能重名,除了用上 weak 這樣的黑科技。同一個項目中,函數(shù)
    的頭像 發(fā)表于 11-29 10:25 ?368次閱讀

    常用SQL函數(shù)及其用法

    SQL(Structured Query Language)是一種用于管理和操作關(guān)系數(shù)據(jù)庫的編程語言。SQL 提供了豐富的函數(shù)庫,用于數(shù)據(jù)檢索、數(shù)據(jù)更新、
    的頭像 發(fā)表于 11-19 10:18 ?332次閱讀

    ESP8266收到重傳的UDP數(shù)據(jù)包,則udp接收回調(diào)函數(shù)調(diào)用次,怎么解決?

    我們使用 esp8266 開發(fā)了一個網(wǎng)格系統(tǒng)。 在所有開發(fā)完成時,我們發(fā)現(xiàn)了一個關(guān)鍵問題。 如果ESP8266收到重傳的 UDP 數(shù)據(jù)包,則 udp 接收回調(diào)函數(shù)調(diào)用次。 (*
    發(fā)表于 07-18 06:29

    ESP8266配網(wǎng)失敗如何返回消息APP?

    我想知道,用ESP-TOUCH8266配網(wǎng)時,如果8266由于某種原因(例如密碼不對)無法連上AP,8266可以失敗的原因返回APP嗎? 我之前想過另外單獨建立一個UDP連接,
    發(fā)表于 07-11 07:53

    CC2642R用接口函數(shù)發(fā)送數(shù)據(jù)到APP端,每次調(diào)用后都是返回0x16,為什么?

    Part Number: CC2642R SDK版本:simplelink_cc13xx_cc26xx_sdk_5_40_00_40 問題描述: 1、調(diào)用接口函數(shù)發(fā)送數(shù)據(jù)到APP端,extern
    發(fā)表于 05-30 07:57

    STM32CubeIde生成的工程,使用printf函數(shù)沒有調(diào)用_write和__io_putchar函數(shù),為什么?

    (int ch) 函數(shù),發(fā)現(xiàn)沒有串口沒有輸出,使用SWD進行debug,并對syscalls.c中的_write函數(shù)以及重寫的io_putchar函數(shù)打了斷點,結(jié)果printf執(zhí)行后,這兩個
    發(fā)表于 05-24 06:13

    函數(shù)多層調(diào)用的主要注意事項分析

    應(yīng)用方案設(shè)計中,開發(fā)者經(jīng)常會碰到某個子函數(shù)需要多次多級調(diào)用的情況。
    的頭像 發(fā)表于 03-27 15:36 ?943次閱讀
    子<b class='flag-5'>函數(shù)</b>多層<b class='flag-5'>調(diào)用</b>的主要注意事項分析

    傳感器之外—兩個數(shù)據(jù)庫之間的“連接”查詢

    年后的小編在寫一些代碼,沒有及時更新我們的公眾號,干脆,先把其中涉及到數(shù)據(jù)庫的的一些操作,尤其是不同數(shù)據(jù)庫,多個表的“連接”查詢的操作過程小結(jié)一下供各位參考。畢竟今天這個數(shù)據(jù)時代,大量數(shù)據(jù)
    的頭像 發(fā)表于 03-12 14:54 ?530次閱讀
    傳感器之外—<b class='flag-5'>兩個數(shù)據(jù)</b>庫之間的“連接”查詢

    arcgis中如何關(guān)聯(lián)兩個屬性表

    字段,這是進行關(guān)聯(lián)的前提。關(guān)聯(lián)字段是兩個表中共有的字段,通過這個字段可以將兩個表中的數(shù)據(jù)進行匹配和關(guān)聯(lián)。 打開ArcMap軟件,加載需要進行關(guān)聯(lián)的兩個數(shù)據(jù)表??梢酝ㄟ^“添加
    的頭像 發(fā)表于 02-25 11:01 ?4330次閱讀

    PSOC同時使用兩個Em_EEPROM,有一個數(shù)據(jù)會丟失的原因?

    PSOC同時使用兩個Em_EEPROM,現(xiàn)在發(fā)現(xiàn)有一個數(shù)據(jù)會丟失,想查看兩個Em_EEPROM的起始地址和結(jié)束地址,在哪里可以看的到?
    發(fā)表于 02-21 07:20

    內(nèi)聯(lián)函數(shù)定義 為什么需要內(nèi)聯(lián)函數(shù)

    inline關(guān)鍵字是C99標準的型關(guān)鍵字,其作用是將函數(shù)展開,函數(shù)的代碼復(fù)制到每一個調(diào)用處。
    的頭像 發(fā)表于 02-19 12:20 ?559次閱讀

    verilog中函數(shù)和任務(wù)對比

    在verilog中,函數(shù)和任務(wù)均用來描述共同的代碼段,并且在模式內(nèi)任意位置被調(diào)用,提高代碼效率,讓代碼更加的直觀,提高代碼可讀性。但是在實際使用的過程中,函數(shù)和任務(wù)也存在諸多的不同,下面將對而這進行
    的頭像 發(fā)表于 02-12 18:43 ?899次閱讀

    linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦?

    linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦? 在Linux上使用GDB調(diào)試時,遇到函數(shù)調(diào)用是一個常見的情況。函數(shù)
    的頭像 發(fā)表于 01-31 10:33 ?734次閱讀

    如果使用FCALL調(diào)用函數(shù)而使用RET返回的話, 就會發(fā)生CSA泄露怎么解決?

    FCALL調(diào)用函數(shù)不會自動存儲Upper Context, 需要使用FRET進行返回, 如果使用FCALL調(diào)用函數(shù)而使用RET
    發(fā)表于 01-26 07:57