C_and_CPP 板


LINE

各位先進好 小弟在看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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1478402978.A.C5C.html
1F:→ pttworld: 命令本身是一維形成可以多命令的命令列。11/06 11:54
2F:→ stupid0319: 括弧是? (*argv)[]還是(*)argv[],還是(*)(*)argv?11/06 11:54
第一個, 就是新手13戒的第12點 ※ 編輯: balaking (42.73.254.249), 11/06/2016 12:43:59
3F:→ stupid0319: 原PO可能誤會了陣列宣告了,argv1本身就像pointer一樣 11/06 13:08
4F:→ stupid0319: 但又不是pointer,但使用上跟pointer有87分像 11/06 13:10
5F:→ balaking: 可是書裡是說沒括弧是array, 有括弧是pointer耶... 昏倒 11/06 13:33
6F:→ stupid0319: 是這樣沒錯,但array存取跟pointer存取是一樣 11/06 13:52
7F:→ stupid0319: 陣列傳遞就是你宣告的名稱,此時array就是個pointer 11/06 13:54
8F:→ stupid0319: 書翻到陣列的章節多看一下 11/06 13:56
9F:推 b0920075: array只有傳遞參數的時候才可以當成pointer看吧 11/06 15:12
10F:推 LPH66: argv 的"二維陣列"型式不是直接一個二維陣列傳進來 11/06 16:06
11F:→ LPH66: 而是一個「字元指標」的陣列, 各元素指向一個字元陣列 11/06 16:07
12F:→ LPH66: 陣列和指標都可以使用 [] 存取, 但意義不一樣 11/06 16:08
13F:推 EdisonX: 你講得對啊,傳給main的是 array of pointers 沒錯 , 只是 11/06 16:15
14F:→ EdisonX: pointer 指向的內容是外部給的,app再複製到唯讀區,所以若 11/06 16:15
15F:→ EdisonX: 你保證argc>=2時,可以直接 argv[1]="test",指向其他地方 11/06 16:16
16F:→ EdisonX: 這樣沒錯啊 11/06 16:16
17F:→ CoNsTaR: *argv[] 是先往右讀再往左讀 所以 *(argv[]) 才和沒有括 11/06 16:48
18F:→ CoNsTaR: 號的 *argv[] 一樣是 array of pointer 11/06 16:48
19F:→ CoNsTaR: (*argv)[] 就變成 pointer to array 了 11/06 16:48
20F:→ balaking: 了解, 謝謝各位 11/06 17:10
21F:→ balaking: 實務上函式參數是不是比較常設計成array of pointers, 11/06 17:21
22F:→ balaking: 而pointer to array比較少用? 感覺後者的使用時機很少@@ 11/06 17:21
23F:→ pttworld: 有星號就有pointer字,array of arrays看不到。 11/06 18:27
24F:→ pttworld: 多個pointer是每個都指向,那是把指向物給理解成什麼。 11/06 18:28
25F:推 longlongint: 建議把記憶體位置列出來 然後用excel玩填空遊戲(? 11/07 01:31







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP