1. char name[20] 自动申请内存空间,也会自动释放内存空间。如:
char* func()
{
char name[20];
return name;
}
调用完 func 函数之后,name占用的内存空间被自动释放,修改 name 指向的内存空间将会造成程序崩溃。
---------------
2. name=new char[20] 动态申请内存空间,需要手动释放内存空间。
char* func()
{
char name[] = new char[20];
return name;
}
调用完 func 函数之后,name占用的内存空间没有被释放,可以正常使用 name 。
如果要手动释放 name 的内存空间,请使用 delete[] name; 。