[爆卦]function回傳陣列是什麼?優點缺點精華區懶人包

為什麼這篇function回傳陣列鄉民發文收入到精華區:因為在function回傳陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者spiderman007 (千里之外)看板C_and_CPP標題[問題] 請問c可以用函數回傳一...


開發平台(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
LPH66:因為 java 的陣列和 C 的陣列不一樣... 11/08 23:23
poyenc:C? C++? 11/08 23:42
x000032001:java的array不是也被視為物件嗎 應該跟C有差異吧 11/08 23:44
yayarice:簡單的說就是不行啊 11/08 23:49
asadman1523:回傳指標? 11/08 23:57
x000032001:要用指標處理 java視為物件 所以可以這樣玩copy 11/09 00:01
x000032001:C就毫無反應是個陣列 沒=賦值這種事 應該是這樣吧? 11/09 00:02
tomnelson:包在struct裡,傳回struct.或再用typedef struct成一個新 11/09 00:05
tomnelson:的type,傳回該type. 11/09 00:06
legnaleurc:Java 的所有變數都是 reference, 約同於 smart pointer 11/09 02:32
angleevil:不可以回傳指標喔.比較好的方法是tomnelson講的 11/09 17:26
diabloevagto:請問為什麼不能在別的function new出來再回傳指標? 11/09 17:35
james732:new的當然可以,有問題的是回傳區域陣列的指標 11/09 17:36
diabloevagto:了解!我以為a大說的是new的那種,誤會了。 11/09 17:40
angleevil:我講清楚點,不論是回傳local array和dynamic array 11/09 17:52
angleevil:c++不會阻止你喔,但是前者問題是得到一個消失的垃圾 11/09 17:53
angleevil:後者得到一個要記得free掉的array.但是一般人會建議你 11/09 17:54
diabloevagto:這個我了解,跟scope有關系 11/09 17:55
angleevil:把它放在參數那邊就好.ex: strcpy(char* Des,char* Src) 11/09 17:55
angleevil:不過glib和mysql的api,有些會回傳dynamic array.所以 11/09 17:58
angleevil:記得free掉,變成一門很需要的細節.但是真的很麻煩就是 11/09 17:59
james732:樓上好強 11/09 18:00
xatier:樓上上好強 11/09 20:33
angleevil:xatier和james732最強.幾乎都是你們在回答問題 11/09 21:00
diabloevagto:怎麼可以把t大忽略呢 11/09 21:03
tomnelson:嗯~謝謝樓上~ 11/09 22:51
diabloevagto:囧! 11/09 22:55
xatier:等等...這個討論串我沒有回答到吧 Orz 11/10 00:18
firejox:其實那是隱藏版的推文XDD 11/10 00:19

你可能也想看看

搜尋相關網站