全部博文(59)
分类: C/C++
2012-05-10 16:50:29
#include
void mo(char **str)
{
*str=(char *)malloc(8) ;
}
int main()
{
char *str;
char h[]="hello" ;
str=NULL;
mo(&str);
//strcpy(str,h);
strncpy(str,h,3);
printf("%s",str);
free(str);
getchar();
}
//会打印hello,同时会出现内存泄露。 内存泄露就是要用free来释放
/*
void mo(char *str)
{
str=(char *)malloc(100) ;
}
int main()
{
char *str;
char h[]="hello" ;
str=NULL;
mo(str);
strcpy(str,h);
printf("%s",str);
getchar();
}
//不会有结果,因为str==NULL后导致malloc没有分配内存成功 ,这个程序去掉str==NULL就正常了
*/