我正在嘗試malloc並釋放單個字母字符串的小數組/表格。我知道這可以在數組中完成,但我想嘗試使用malloc和free來完成此操作。如何爲malloc char **表?
我現在有這個權利:
char **letters = (char**) malloc(5 * sizeof(char*));
int i =0;
for(i=0; i < NUMLETTERS ; ++i)
{
letters[i] = (char*) malloc(2*sizeof(char)); //2 is for the letter and null terminator
}
letters[0] = "a";
letters[1] = "b";
letters[2] = "c";
letters[3] = "d";
letters[4] = "e";
//Do stuff here
int i =0;
for(i=0; i < 5; ++i)
{
free(letters[i]);
}
free(letters);
上面的代碼編譯罰款和我之間也代碼工作和運行正常,但在運行時,它的免費部分時會得到一個錯誤。另外,在使用valgrind之後呢..說的是free(letters [i]);無效。
任何幫助?
啊!我應該這樣做:strcpy(letters [0],「a」);對? – Flipper
正確,這將起作用。 – Mysticial