栈内存的问题
有谁帮忙解释下
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char fun(char *p)
{
p=(char *)malloc(sizeof(char)*10);
}
char fun1(char **p)
{
*p=(char *)malloc(sizeof(char)*10);
}
char *fun2();
{
char *p=(char *)malloc(sizeof(char)*10)
return p;
}
int main()
{
char *str=NULL;
fun(str); //error
fun1(&str); //OK
p=fun2); //error
strcpy(str,"hello world");
puts(p);
}
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char fun(char *p)
{
p=(char *)malloc(sizeof(char)*10);
}
char fun1(char **p)
{
*p=(char *)malloc(sizeof(char)*10);
}
char *fun2();
{
char *p=(char *)malloc(sizeof(char)*10)
return p;
}
int main()
{
char *str=NULL;
fun(str); //error
fun1(&str); //OK
p=fun2); //error
strcpy(str,"hello world");
puts(p);
}
...全文
相关推荐
C++解决大数组栈内存不够问题的方法分析
主要介绍了C++解决大数组栈内存不够问题的方法,结合实例形式对比分析了C++针对大数组栈内存不足情况的常见解决方法及其优缺点,具有一定参考借鉴价值,需要的朋友可以参考下
C语言对齐问题,含结构体、栈内存以及位域对齐
C语言对齐问题,含结构体、栈内存以及位域对齐
JVM中堆内存和栈内存的区别
本文主要介绍了JVM中堆内存和栈内存的区别,具有很好的参考价值,下面跟着小编一起来看下吧
Java中堆内存和栈内存详解
我开始饿时候一直对java的堆栈之间的关系有点模糊,虽然能说出来他之间的区别,但是并么有理解内涵。后来仔细研究了下这个问题,还单独米勒jvm的书看,自己也有了些许深入的掌握,我在这里面用了些例子说明,可能大家会容易接受!
堆内存与栈内存解析[代码]
本文详细解析了堆内存和栈内存的概念、区别及其在编程中的应用。文章首先介绍了数据结构中的堆和栈,然后对比了内存中的栈区与堆区,包括它们的分配方式、空间大小和管理方式。接着,文章探讨了栈溢出和内存泄露的问题,并提供了Java和C++中堆与栈的具体实现和区别。最后,总结了堆和栈的优缺点,并给出了内存使用的规则和建议。通过本文,读者可以全面了解堆和栈在内存管理中的重要性及其在实际编程中的应用。


