典型的局部变量和内存分配_为变量分配内存是定义

2020-02-29 其他范文 下载本文

典型的局部变量和内存分配由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“为变量分配内存是定义”。

典型的局部变量和内存分配,回收的问题

分配内存有两种方式,一种是在堆上分配,也就是malloc和new这两个东东,一个是用于C,一个是用于C++,在堆上分配的内存要用free和delete来释放

另一种分配内存的方式是在栈上分配,就比如char p[10],就会在栈上开辟十个字节的空间,在栈上分配的空间会在其作用域不存在时自动释放,比如你在一个函数中声明一个这样的变量,当这个函数退出时,这个变量所指向的空间会被收回;

所以你在子函数中声明一个char *变量,并用malloc分配空间后,并没有手动释放,那么在其它函数访问它就是合法的,但程序结束时就手动释放它,不然的话,就有内存泄漏的问题

你在子函数中声明一个数组,它会在栈上分配空间,当此子函数结束后,些内存中的内容会被自动回收 所以你在调用的函数中就引用了一个被释放了的地址,当然要出错了

最好还想说一点的是:声明一个全局变量,它会被自动初始化(好像是编译器做的工作),而一个局部变量是不会被自动初始化;而字符串常量和宏定义的东东在被编译时好像已被放在了文本段(请参阅可执行文件的结构)

《典型的局部变量和内存分配.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
典型的局部变量和内存分配
点击下载文档
相关专题 为变量分配内存是定义 变量 局部 分配 为变量分配内存是定义 变量 局部 分配
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文