2020 10 22力扣筆記

2021-10-25 03:10:24 字數 972 閱讀 5113

#c語言返回多個值

在c語言bai中,一般情況下函式的返回值是通過du函式中的return語句來實zhi現的,每呼叫dao一次return語句只能從函式中返回乙個值。但在實際很多應用中,我們需要從函式中返回多個值,那我們可以用什麼方法實現呢?此時我們可以用三種方法來實現。

##方法一:設定全域性變數

全域性變數是在函式外部定義的全域性變數,它不屬於任何乙個函式,其作用域是從變數的定義處開始,到本程式檔案的結尾。在此作用域內,全域性變數可為各個函式所引用。當我們需要函式返回多個值時,除了函式體中的return語句返回其中乙個之外,其它的返回值我們可以通過定義全域性變數來處理。因為根據全域性變數的特點,在被呼叫函式中改變了多個全域性變數和值,相當於其主調函式全域性變數的值也發生了變化,也就相當於返回了多個值。

##方法二:使用陣列名或指標作為函式的形參

陣列名或者指標實際為位址,而陣列一般都包括多個元素,指標也可以指向一組資料的著位址,把陣列名或者指標作為函式形參,實際上相當於主調函式的實參與形參共用位址,所以在函式中的陣列元素發生改變即是實參也隨之改變。也相當於在呼叫函式時多個值返回給主調函式。

##方法三:使用結構體指標作為函式的形參

編寫返回多個值的c語言函式,可以考慮採用結構體的方式去實現。如果返回的數個數值的資料型別不一致,可以通過定義全域性變數實現有多個返回值的c語言函式,也可以考慮把要求返回的數個值定義成乙個結構體,然後同樣以傳遞結構體指標方式把結構體的指標傳遞給形參結構體指標,那麼函式中對形參結構體的修改即是對實參結構體的修改,函式被呼叫後獲取的實參結構體成員即為函式的多個返回值,下面以例項演示該方法的應用。
##注意:

c語言庫函式malloc()

c 庫函式 void *malloc(size_t size) 分配所需的記憶體空間,並返回乙個指向它的指標。

**該函式返回乙個指標 ,指向已分配大小的記憶體。如果請求失敗,則返回 null。**

力扣(LeetCode)刷題筆記

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。注 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...

力扣演算法題筆記 數學

給定乙個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。示例 輸入 38 輸出 2 解釋 各位相加的過程為 3 8 11,1 1 2。由於 2 是一位數,所以返回 2。迴圈法 自己的方法 首先將原數字轉化為字串,再將字串中的每個元素轉換成數字,然後累加,如此迴圈,直到數字小於等於9.c...

力扣學習筆記 day5

給乙個鍊錶陣列,其中每個鍊錶都已經按照公升序排列,將所有鍊錶合併到乙個鍊錶中並返回。eg.輸入 lists 1,4,5 1,3,4 2,6 輸出 1,1,2,3,4,4,5,6 解釋 鍊錶陣列如下 1 4 5,1 3 4,2 6 將它們合併到乙個有序鍊錶中得到。1 1 2 3 4 4 5 6 本題類...