[問題] 傳遞多維陣列問題
各位先進好
小弟在看c++ primer中文版的"傳遞一個多維Arrays" (p.241)
書這裡寫的跟第12戒一樣, 接多維陣列必須用指標接, *參數要先括弧起來再接著[]
但為何p.244處理命令列選項*argv[] (亦等於**argv) 沒有先括弧起來?
int main(int argc, char *argv[]){ ... }
陣列不是不能直接傳遞嗎?
呼叫這個main要怎麼傳參數進去呢?
煩請幫小弟解惑, 謝謝各位
=== (12:35增加) ===
小弟自己的理解如下:
char *arg1 = "prog";
char *arg2 = "-d";
char *arg3 = "-o"
char *arg4 = "ofile";
char *arg5 = "data0";
char *argv1[] = {arg1, arg2, arg3, arg4, arg5};
char **argv2 = argv;
所以argv2是pointer to array of pointers
argv1是array of pointers
所以這裡傳遞給main的參數是array of pointers, 不是array of arrays
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.254.249
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1478402978.A.C5C.html
→
11/06 11:54, , 1F
11/06 11:54, 1F
→
11/06 11:54, , 2F
11/06 11:54, 2F
第一個, 就是新手13戒的第12點
※ 編輯: balaking (42.73.254.249), 11/06/2016 12:43:59
→
11/06 13:08, , 3F
11/06 13:08, 3F
→
11/06 13:10, , 4F
11/06 13:10, 4F
→
11/06 13:33, , 5F
11/06 13:33, 5F
→
11/06 13:52, , 6F
11/06 13:52, 6F
→
11/06 13:54, , 7F
11/06 13:54, 7F
→
11/06 13:56, , 8F
11/06 13:56, 8F
推
11/06 15:12, , 9F
11/06 15:12, 9F
推
11/06 16:06, , 10F
11/06 16:06, 10F
→
11/06 16:07, , 11F
11/06 16:07, 11F
→
11/06 16:08, , 12F
11/06 16:08, 12F
推
11/06 16:15, , 13F
11/06 16:15, 13F
→
11/06 16:15, , 14F
11/06 16:15, 14F
→
11/06 16:16, , 15F
11/06 16:16, 15F
→
11/06 16:16, , 16F
11/06 16:16, 16F
→
11/06 16:48, , 17F
11/06 16:48, 17F
→
11/06 16:48, , 18F
11/06 16:48, 18F
→
11/06 16:48, , 19F
11/06 16:48, 19F
→
11/06 17:10, , 20F
11/06 17:10, 20F
→
11/06 17:21, , 21F
11/06 17:21, 21F
→
11/06 17:21, , 22F
11/06 17:21, 22F
→
11/06 18:27, , 23F
11/06 18:27, 23F
→
11/06 18:28, , 24F
11/06 18:28, 24F
推
11/07 01:31, , 25F
11/07 01:31, 25F