#include <stdio.h>
#include <stdlib.h>
void main()
{
char**ch;
int m,i;
printf("Please input the number of strings:\n");
scanf("%d",&m);
ch=(char**)malloc(m*sizeof(char));
for(i=0;i<m;i++)
{
ch[i]=(char*)malloc(80*sizeof(char));
scanf("%s",ch[i]);//为什么这里换成gets(ch[i]);运行结果不一样,会少输入一个字符串
}
for(i=0;i<m;i++)
puts(ch[i]);
}
运行完内存怎么释放,总是出现问题
free函数是没错,怎么free呢,这个好像不能直接释放
追答#include
#include
//#include "malloc.h"
void main()
{ char**ch;
int m,i;
printf("Please input the number of strings:\n");
scanf("%d",&m);
ch=(char**)malloc(m*sizeof(char));
for(i=0;i<m;i++)
{ ch[i]=(char*)malloc(80*sizeof(char));
scanf("%s",ch[i]);//为什么这里换成gets(ch[i]);运行结果不一样,会少输入一个字符串
}
for(i=0;i<m;i++)
puts(ch[i]);
free(*ch);
}