[問題] 為何需要為陣列設參數

看板C_and_CPP (C/C++)作者 (白毛)時間16年前 (2009/10/16 16:00), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
請問為何一個function還要傳入陣列呢 陣列不就是指標 那這樣的話在function裡也可以直接對他access吧?? int input[10]; void function(int *a) { ... ... ... a[3]=1; } function(input); 跟 function(void) { ... ... ... input[3]=1; } 的結果是一樣的嗎 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.163.250

10/16 16:03, , 1F
只單看這個例子, 結果是一樣的; 問題是實際coding時,
10/16 16:03, 1F

10/16 16:03, , 2F
全域變數能少用就盡量少用; 另外, 你固定用全域變數的
10/16 16:03, 2F

10/16 16:04, , 3F
另一個問題是沒有彈性, 假如你有很多array要輪流做
10/16 16:04, 3F

10/16 16:04, , 4F
function, 那你不是要寫一堆的function針對個別array
10/16 16:04, 4F

10/16 16:04, , 5F
來操作:)
10/16 16:04, 5F

10/16 16:29, , 6F
你總不會把所有陣列都放在global 吧...
10/16 16:29, 6F

10/16 17:52, , 7F
遇到mutil thread時就死定了
10/16 17:52, 7F

10/16 23:07, , 8F
不會死啦, 可能會處理 lock 處理到煩 XD
10/16 23:07, 8F
文章代碼(AID): #1As2W4b9 (C_and_CPP)
文章代碼(AID): #1As2W4b9 (C_and_CPP)