[問題] 請問c可以用函數回傳一個陣列嗎???

看板C_and_CPP作者 (千里之外)時間12年前 (2011/11/08 23:21), 編輯推噓4(4025)
留言29則, 12人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 在main()裡.. int arr[3] = function(); function()可回傳一個陣列值嗎??? 還是直接設成全堿變數呢?? 剛剛看到java 可以寫成 int arr[] = fuction(); 可是我c卻試不出來??? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.147.153

11/08 23:23, , 1F
因為 java 的陣列和 C 的陣列不一樣...
11/08 23:23, 1F

11/08 23:42, , 2F
C? C++?
11/08 23:42, 2F

11/08 23:44, , 3F
java的array不是也被視為物件嗎 應該跟C有差異吧
11/08 23:44, 3F

11/08 23:49, , 4F
簡單的說就是不行啊
11/08 23:49, 4F

11/08 23:57, , 5F
回傳指標?
11/08 23:57, 5F

11/09 00:01, , 6F
要用指標處理 java視為物件 所以可以這樣玩copy
11/09 00:01, 6F

11/09 00:02, , 7F
C就毫無反應是個陣列 沒=賦值這種事 應該是這樣吧?
11/09 00:02, 7F

11/09 00:05, , 8F
包在struct裡,傳回struct.或再用typedef struct成一個新
11/09 00:05, 8F

11/09 00:06, , 9F
的type,傳回該type.
11/09 00:06, 9F

11/09 02:32, , 10F
Java 的所有變數都是 reference, 約同於 smart pointer
11/09 02:32, 10F

11/09 17:26, , 11F
不可以回傳指標喔.比較好的方法是tomnelson講的
11/09 17:26, 11F

11/09 17:35, , 12F
請問為什麼不能在別的function new出來再回傳指標?
11/09 17:35, 12F

11/09 17:36, , 13F
new的當然可以,有問題的是回傳區域陣列的指標
11/09 17:36, 13F

11/09 17:40, , 14F
了解!我以為a大說的是new的那種,誤會了。
11/09 17:40, 14F

11/09 17:52, , 15F
我講清楚點,不論是回傳local array和dynamic array
11/09 17:52, 15F

11/09 17:53, , 16F
c++不會阻止你喔,但是前者問題是得到一個消失的垃圾
11/09 17:53, 16F

11/09 17:54, , 17F
後者得到一個要記得free掉的array.但是一般人會建議你
11/09 17:54, 17F

11/09 17:55, , 18F
這個我了解,跟scope有關系
11/09 17:55, 18F

11/09 17:55, , 19F
把它放在參數那邊就好.ex: strcpy(char* Des,char* Src)
11/09 17:55, 19F

11/09 17:58, , 20F
不過glib和mysql的api,有些會回傳dynamic array.所以
11/09 17:58, 20F

11/09 17:59, , 21F
記得free掉,變成一門很需要的細節.但是真的很麻煩就是
11/09 17:59, 21F

11/09 18:00, , 22F
樓上好強
11/09 18:00, 22F

11/09 20:33, , 23F
樓上上好強
11/09 20:33, 23F

11/09 21:00, , 24F
xatier和james732最強.幾乎都是你們在回答問題
11/09 21:00, 24F

11/09 21:03, , 25F
怎麼可以把t大忽略呢
11/09 21:03, 25F

11/09 22:51, , 26F
嗯~謝謝樓上~
11/09 22:51, 26F

11/09 22:55, , 27F
囧!
11/09 22:55, 27F

11/10 00:18, , 28F
等等...這個討論串我沒有回答到吧 Orz
11/10 00:18, 28F

11/10 00:19, , 29F
其實那是隱藏版的推文XDD
11/10 00:19, 29F
文章代碼(AID): #1EkKZmvm (C_and_CPP)