不要用return 语句返回指向“栈内存”的指针
指针指向的字符串是存放在静态存储区的,不可修改。如:char *p= "hello";中的“hello"存放在静态存储区,
而char p[] = "hello";中的”hello“是存放在栈的。
语句free(p)能正确地释放内存。如果p 是NULL 指针,那么free 对p 无论操作多少次都不会出问题。
如果p 不是NULL 指针,那么free 对p 连续操作两次就会导致程序运行错误。