各位先進好
小弟在看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