#include <stdio.h>
#include <string.h>
#include <stdlib.h>char *CopyString()
{
char *p = (char *)malloc(200);
strcpy(p,"test");
return p;
}void main()
{
char *tmp;
tmp = CopyString(); printf("tmp is %s\n",tmp);
delete tmp;
}
请问这样的程序可以吗?也就是说在函数中调用malloc分配内存,然后返回这个指针,让调用函数去delete掉指针,这种写法是否正确?
#include <string.h>
#include <stdlib.h>char *CopyString()
{
char *p = (char *)malloc(200);
strcpy(p,"test");
return p;
}void main()
{
char *tmp;
tmp = CopyString(); printf("tmp is %s\n",tmp);
delete tmp;
}
请问这样的程序可以吗?也就是说在函数中调用malloc分配内存,然后返回这个指针,让调用函数去delete掉指针,这种写法是否正确?
new分配的才用delete释放