int main()
{
int o;
int n = 9;
char** map;
map = (char**)malloc(n);
for(o=0;o<n;o++)
{
map[o]= (char*)malloc(n + 3);
if (map == NULL)
return 0;
memset(map[o], 0, n + 3);
}
system("pause");
for(o=0;o<n;o++)
{
free(map[o]);
}
return 0;
}
题目描述
题目来源及自己的思路
相关代码
粘贴代码文本(请勿用截图)
map = (char**)malloc(n); --- 申请得到n字节空间。只能存放 n/4 个指针。
for(o=0;o<n;o++) --- 而存放n个指针,需要n*4字节的空间
map = (char*)malloc(4n); --- 我想你需要这样
还有超多内存泄露问题。。。