C語言基礎知識:C語言函數調用怎麼返回兩個值

在C語言中,函數只能返回一個值,要返回兩個值,可以改換思路,通過其它方式做到。

1 建立數組,返回指針。

在要返回的兩個值類型相同時,可以用創建數組的方式,將要返回的值存在數組中,並返回數組首地址,這樣就可以實現返回兩個值的效果。
需要注意的是,要返回數組首地址,那麼返回的值不可以是局部變量,有如下幾種是可以的:
a) 使用靜態局部變量存儲,並返回地址;
b) 使用全局變量存儲,返回地址;
c) 函數中動態分配內存,並返回申請到的地址,此種方法需要注意,在使用後需要釋放;
d) 在參數中傳入數組地址,並返回。即返回的實際上是主調函數中的變量地址。

2 建立結構體,返回結構體變量。

將需要返回的值,寫成結構體形式,並返回結構體變量,這樣可以實現一個返回值中含有多組數據。

3 當數據規模較小時,可以採用將小規模數據合併爲大規模數據的方式,進行返回。

比如,需要返回兩個char型數據時,可以通過返回一個short數據,高地位分別存儲各自的值。

4 除以上方法外

還可以不使用返回值的方式,而是通過函數參數傳值,或者全局變量傳值等方式,將要返回的值回傳給主調函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章