Estoy tratando de malloc y liberar una pequeña matriz/tabla de cadenas de una sola letra. Sé que esto se puede hacer en una matriz, pero quiero intentar hacer esto con un malloc y libre.¿Cómo malloc char ** tabla?
tengo unas pocas cosas en este momento:
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);
El código anterior compila bien y mi código en el medio también funciona y funciona muy bien, pero en tiempo de ejecución se pone un error durante las partes libres. Además, después de usar valgrind..it dice que el gratis (letras [i]); no es válido.
¿Algún ayuda?
Ah! Debería hacer algo como: strcpy (letras [0], "a"); ¿Derecha? – Flipper
Correcto, eso funcionará. – Mysticial