[問題] 指標陣列 傳遞問題?想了超久
void getMem(char *ptr)
{
*ptr = (char*)malloc(200);
}
main()
{
char *str = NULL;
getMem(&str);
strcpy(str, "Hello C/C++ programming");
printf("%s\n", str);
}
我試過void getMem(char **ptr)
改成兩個星號才會過
不懂為什麼??
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.31.79
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1455894311.A.A00.html
→
02/19 23:11, , 1F
02/19 23:11, 1F
您好,
我剛看完了
可是他最後問我想想&str會傳甚麼給副程式?
位址吧? 那為什麼用兩顆星號**ptr接 就可以呢?
我不太懂用副程式 **ptr 是甚麼意思......
※ 編輯: kai5566 (122.121.31.79), 02/19/2016 23:29:58
→
02/19 23:28, , 2F
02/19 23:28, 2F
→
02/19 23:30, , 3F
02/19 23:30, 3F
→
02/19 23:33, , 4F
02/19 23:33, 4F
→
02/19 23:34, , 5F
02/19 23:34, 5F
感謝你!!! 這樣我知道為什麼副程式用 **ptr了
但有個新問題
為何&str 是 char** ???
我讀了很多指標資料沒有提到這個...
不知道大哥願不願意幫忙解釋,或有相關資料給我閱讀嗎?
→
02/19 23:45, , 6F
02/19 23:45, 6F
→
02/19 23:46, , 7F
02/19 23:46, 7F
嗯嗯 這個我知道~~~~
那為什麼您說&str是 char**呢?
※ 編輯: kai5566 (122.121.31.79), 02/19/2016 23:47:52
→
02/19 23:49, , 8F
02/19 23:49, 8F
→
02/19 23:50, , 9F
02/19 23:50, 9F
→
02/19 23:56, , 10F
02/19 23:56, 10F
推
02/20 01:08, , 11F
02/20 01:08, 11F
推
02/20 03:40, , 12F
02/20 03:40, 12F
推
02/20 05:20, , 13F
02/20 05:20, 13F
→
02/20 05:20, , 14F
02/20 05:20, 14F
→
02/20 05:20, , 15F
02/20 05:20, 15F
→
02/20 05:20, , 16F
02/20 05:20, 16F
→
02/20 05:20, , 17F
02/20 05:20, 17F
→
02/20 05:20, , 18F
02/20 05:20, 18F
→
02/20 05:21, , 19F
02/20 05:21, 19F
感謝crazy大大、感謝overhead提供關鍵字
感謝froze哥以及感謝熱心的fight大!!!這題我了解了
再來仔細複習一下~thxxxx
※ 編輯: kai5566 (122.121.31.79), 02/20/2016 09:30:48
推
02/20 16:29, , 20F
02/20 16:29, 20F