我正在嘗試做一個解析器。我有一個使用指針的版本,但我想知道如何將它從指針(char * p)轉換爲c字符串(char p []),以便更熟悉它們的工作方式。解析C字符串和多個指針C字符串
我有一個函數...
int makearg(char s[], char**args[])
{
char *arg1
char arg2[50];
//I'm aware these don't assign the args pointer value to arg2.
arg2[0] = args[0];
//And I'm aware this does.
arg1 = (*args)[0]);
}
我的問題是什麼是等價的。或者可能是對發生了什麼的簡短解釋。其他解決方案只是給出工作代碼而沒有真正說明它的工作原理
我不認爲這是通過我的mem分配是使用指針和[]。這工作正常。如果有人有時間,也不確定如何工作。
(*args)[i] = (char*) malloc(sizeof(char) * tokenLen);
http://www.cs.bu.edu/teaching/c/string/intro/ – CabDude
歡迎來到StackOverflow!你問的是哪個編譯器錯誤?你從這些錯誤中得到了什麼詞,特別是你有沒有困惑?當你在這裏發佈示例時,你需要確定他們只會產生你所問的問題,而沒有其他問題。您可以通過生成[MCVE](http://stackoverflow.com/help/mcve)來完成此操作。 – Sebivor
從char *到char **的無效轉換或我嘗試的任何組合。我知道類型是不同的,但我不知道如何。每次我編譯它會給我一個錯誤,然後我會調整以使錯誤消失,但指針會錯誤。所以我想我現在明白了。非常感謝。 – cba1067950