我将尝试创建一个像这样的数组:
char tmp[4][32768];
//code
这是一个函数,我发现将此数组设为全局数组会增加程序的速度(不幸的是,当遇到某些数据时该函数会递归调用自身,因此不能保持全局)。我想让这个函数更快,但我读到过malloc
可能会相当慢。所以是让它保持原样还是做如下修改更快呢?
char** tmp;
tmp = malloc(4 * sizeof(char*));
tmp[0] = malloc(32768);
tmp[1] = malloc(32768);
tmp[2] = malloc(32768);
tmp[3] = malloc(32768);
//code
free(tmp[0]);
free(tmp[1]);
free(tmp[2]);
free(tmp[3]);
free(tmp);
tmp = malloc(4);
分配的内存不足,需要改为tmp = malloc(4 * sizeof (char *));
。 - mediocrevegetable1