我正试图少花一席之地,并释放一阵/小 array。 我知道,这可以在一个阵列中进行,但我希望尝试,并以一个小型和免费的方式这样做。
我现在谈谈:
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);
以上法典还汇编了罚款和我的准则,在操作和操作罚款之间,但从操作时间来看,在自由部分中却出现了错误。 而且,在使用瓦尔格里恩之后,它说free(letters [i]);是无效的。
任何帮助?