楼主你好,我想个问题,我感觉第一段代码的问题不是函数结束后内存空间会释放吧,我感觉是有两个问题。 第一是getMemory中malloc的内存没有被free掉,会有内存泄露的问题。 第二,整个代码的目的是str指针分配内存,然后为其复制helloworld并输出,但是最后str的值仍为NULL,输出时会报错,因为getMemory函数并没有实现为str分配空间的功能,在getMemory中传入的是一级指针,只是把str的值传进去了,没有传入str的地址,在函数中malloc后就会把一个分配好的新地址赋值给p,此时p的值就不是str的值了,所以函数结束后str的值仍为NULL。要实现为str分配地址的功能,传入的应该是二级指针或是指针的引用,不能只传入一级指针