程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c,c++函數返回多個值的方法

c,c++函數返回多個值的方法

編輯:關於C語言

最近遇到一個問題,需要通過一個函數返回多個值。無奈C,C++不能返回多個值。所以就想有什麼方法可以解決。

網上方法比較雜亂,一般有兩種替代做法:

1. 利用函數的副作用, 返回值在函數外定義, 在函數內修改, 一般為void函數。

例1.1輸入x,y求修改後的x,y

View Code

例1.2輸入a,b,c求x,y,z

例1.3輸入x[]求修改後的x[]

View Code

例1.4輸入x[]求y[]

2. 把返回值打包返回,如返回一個數組名,指針,結構體.

例2.1返回一個數組名

View Code

例2.2返回一個指針

View Code

例2.3返回一個結構體

(被“略”的地方如果誰有興趣可以自己去試著寫一個)

帶返回值的函數需要用一個指針接受,而接收的也是之前主函數裡定義的變量的地址。即只要函數被調用了,變量的值就改變了,根本不需要在定義一個指針變量來接收,從這可以得出,有返回值的函數都可以改成void()型函數。(即例2.2可以簡寫成例1.3)

綜上

可以看出,無論你怎麼返回,無論你返回不返回,幾乎都需要用到指針。可能有人會說用純數組也可也實現,LZ以前也用數組,但現在覺得以前很愚蠢,原因會用指針的人都知道吧。其實上面的眾多方法說白了也就一句話:

利用指針。

指針很強大,LZ以前貪玩,沒怎麼學,最近學C,又撿起來看了一下,一定要把這個學會。用好。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved