[問題] 關於函數傳遞指標參數的問題

看板C_and_CPP作者 (香菇)時間13年前 (2011/03/10 11:04), 編輯推噓4(407)
留言11則, 4人參與, 最新討論串1/2 (看更多)
請問一下,函式如果傳遞陣列當參數就要傳陣列名稱+陣列個數 如果產生一個指標p,去指向陣列array[5],也就是p=array 那傳遞p當參數就變成傳指標呼叫了,傳遞時就直接傳p 可是p指的是一個陣列,傳遞過去到函式時,他會知道是陣列嗎? 卻沒有傳遞陣列個數 觀念上有很多問題~麻煩大家了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.71.232.251

03/10 11:17, , 1F
你知道是陣列不是嗎..程式是你寫的,個數可以各別傳遞
03/10 11:17, 1F

03/10 11:18, , 2F
int test(int* array,int size);
03/10 11:18, 2F

03/10 11:19, , 3F
基本上傳遞陣列概念上就已經是傳遞指標了
03/10 11:19, 3F

03/10 11:20, , 4F
無聊一點可以把array[0]存陣列個數,或者寫成struct
03/10 11:20, 4F

03/10 11:28, , 5F
關鍵在[]這個運算子,在搭配指標使用時,會怎樣運算
03/10 11:28, 5F

03/10 11:28, , 6F
你把這個搞懂,背起來就對了。
03/10 11:28, 6F

03/10 11:29, , 7F
p[2][3] 的運算就是 *( *(p+2) + 3 ) 的運算
03/10 11:29, 7F

03/10 11:32, , 8F
0319大,ary[0]存個數,這招聽起來好像不錯 @@!
03/10 11:32, 8F

03/10 12:03, , 9F
ary[0] 不能拿來存個數,除非你只用 int array
03/10 12:03, 9F

03/10 12:41, , 10F
原來只有int可以存數字??我以為可以轉型來存也沒問題說
03/10 12:41, 10F

03/10 13:50, , 11F
所以 char array 最多只存256個?
03/10 13:50, 11F
文章代碼(AID): #1DU3-yyi (C_and_CPP)
文章代碼(AID): #1DU3-yyi (C_and_CPP)