[問題] 關於二維陣列的pass by ref
各位版友好
在傳遞二維陣列給foo的時候:
void foo(char str[][11]){
}
int main(){
char str[11][11];
foo(str)
}
請問為什麼在foo的參數列上面
要用str[][11]
為什麼不需要指定第一個[]的upper bound 而只要去指定第二個[]的upper bound(也就是
指定[11])
謝謝各位版友的指教
--
~宅男的四個徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.121.253.14
※ 編輯: Arim 來自: 122.121.253.14 (08/05 21:16)
→
08/05 21:26, , 1F
08/05 21:26, 1F
→
08/05 21:42, , 2F
08/05 21:42, 2F
→
08/05 21:42, , 3F
08/05 21:42, 3F
推
08/05 22:02, , 4F
08/05 22:02, 4F
→
08/05 22:03, , 5F
08/05 22:03, 5F
記得之前上程式語言是說
只傳第二個index的原因是因為
用第二個index就可以把每個陣列的開頭的位置給算出來
比如說第str[1][0]可以由&(str[0][0])+4*11算出來,4是假設每個element佔4個byte
不過我也不太清楚這樣對不對@@
多維的情況又更複雜了
※ 編輯: Arim 來自: 122.121.253.14 (08/05 22:12)
※ 編輯: Arim 來自: 122.121.253.14 (08/05 22:13)
→
08/05 22:16, , 6F
08/05 22:16, 6F
推
08/05 22:24, , 7F
08/05 22:24, 7F
→
08/05 22:25, , 8F
08/05 22:25, 8F
推
08/05 22:30, , 9F
08/05 22:30, 9F
推
08/06 17:05, , 10F
08/06 17:05, 10F
→
08/06 17:05, , 11F
08/06 17:05, 11F
推
08/06 19:15, , 12F
08/06 19:15, 12F
推
08/08 22:39, , 13F
08/08 22:39, 13F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章