在C中做像这样的事情有问题吗?
基本上,我想知道在函数内部使用malloc并返回局部变量是否存在问题。
char* wrap(char *inp) {
char *newstr;
newstr = (char *)malloc( sizeof(char) * 4);
newstr[0] = 'A';
newstr[1] = inp[0];
newstr[2] = 'B';
newstr[3] = '\0';
return newstr;
}
基本上,我想知道在函数内部使用malloc并返回局部变量是否存在问题。
free()
函数。 - Code-Apprenticemalloc
和free
的调用位于同一个DLL中。MS运行时库不喜欢在一个DLL中分配的内存在另一个DLL中释放。 - R Sahuchar *newstr = malloc(4 * sizeof *newstr);
- Ryan Haining