首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于char*的释放

2012-03-07 
关于char**的释放,高手进voidmain(){char*greeting[]{ Hello ,Goodmorning ,Howareyou ,Howdoyoud

关于char**的释放,高手进
void main() 
{
char *greeting[]={ "Hello ",  
"Good morning ",  
"How are you ",  
"How do you do ",  
"Good afternoon ",  
"Good evening "}; 

char **tmp = (char**)malloc(1);  
  *tmp = greeting[i];
free(t);
}

程序报错;
请问怎么释放??

[解决办法]
又是t又是i的
都没声名
不知你的程序的作用
[解决办法]

C/C++ code
2楼   char **tmp   =   (char**)malloc(1);       *tmp   =   greeting[i];   free(t);                     //t怎么来的?--没有定义过阿!3楼   char **t  =   (char**)malloc(1);       *tmp   =   greeting[1];      //temp怎么来的?--也没有定义过阿!  free(t);
[解决办法]
C/C++ code
void       main()   {    char *greeting[]={   "Hello   ",                                   "Good       morning   ",                                     "How       are       you   ",                                     "How       do       you       do   ",                                   "Good       afternoon   ",                                     "Good       evening   "};     char **t  =   (char**)malloc(1);       *tmp   =   greeting[1];   free(t); }
[解决办法]
我觉得是你分配的时候有问题
[解决办法]
把你程序中*t = greeting[1]; 注释掉就可以了
[解决办法]
C/C++ code
  char **t  =   (char**)malloc(1);      *t   =   greeting[1];   free(t);
[解决办法]
上面的解释好像有问题
内容
t &p
p &greet[1]
这里p的空间是要释放的,所以free(t)去释放p没问题,只是申请要按13楼改

热点排行