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

其他范文 时间:2020-02-29 02:14:52 收藏本文下载本文
【www.daodoc.com - 其他范文】

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

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

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

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

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

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

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

下载典型的局部变量和内存分配word格式文档
下载典型的局部变量和内存分配.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文