问题描述
解决方案
其实这四道题是考察堆内存和栈内存的。
堆内存的生存周期为只要不用free()释放,它就一直存在,很容易造成内存泄漏;而栈上的空间是自动分配自动回收的,所以栈内存的生存周期只在函数内,运行完便不存在了。知道这些,那四道题就好理解了。如果还不明白,可以查查内存分配的一些知识。我就只说一下第一题,后面的应就懂了。
第一道题:GetMemory()中的指针变量p用malloc()函数动态申请了空间,但由于GetMemory()这个函数无返回值,所以它并不能传递动态内存,Test函数中str一直都是NULL。strcpy函数将会使程序崩溃,也就出现段错误啦。
解决方案二:
请帮忙看下这个问题怎么解决
Repeater问题。知道的麻烦帮忙解决下
解决方案三:
看看。。。。。。。。。。。。。。。。。
解决方案四:
那不是有答案么,想仔细一点可以直接搜索错误啊
解决方案六:
你可以自己在将代码运行一遍,不就清楚了。。。如果想知道原因,网上搜索就可以了
解决方案七:
char *p=""hello world"";
return p;
只有指针才能返回,不能返回数组名的
时间: 2025-01-25 01:54:01