设为首页 - 加入收藏
广告 1000x90
您的当前位置:144177黄大仙有求必应 > 静态存储分配 > 正文

C语言 调用函数完后释放内存吗?

来源:未知 编辑:admin 时间:2019-07-10

  学到函数时,好像有这么一句:被调用函数使用完后,调用函数的变量会释放内存。所以我就想验证一下(通过查看变量指针地址),但不知道是什么原因指针地址一直不变。

  3.别人说是:变量不可能被释放,要c++里才有相应的函数才会释放。是真的吗?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人互联网行家采纳数:20186获赞数:50873专业C/C++软件开发向TA提问展开全部区分内存类型,有不同结果:

  即在函数内部定义的变量,且变量不带static修饰。这时,在退出函数后,变量自带内存会自动释放。

  函数内部定义的带static修饰的变量为静态变量,这种变量在函数退出后不会释放内存,直到程序退出时一起释放。

  指通过malloc,calloc,zalloc等函数申请的内存空间,这类空间在退出函数后不会自动释放,要释放只有通过free函数的调用,进行内存释放。

  展开全部1.不可以,释放内存不是指内存地址没了,地址还是那个地址,只不过这个地址里面的数据可以被随意更改了,不确定了。

  2.它都是从一个固定的内存区域里分配的,所以在你不干其它事情时,这个内存地址不会变。

  3.变量会被释放,但是你申请的内存不会被释放,不管CC++都是这样。

  展开全部肯定会释放了,函数调用完成后,函数里的所有局部变量将会被释放。但是你写的这个程序根本就有问题。你所返回的只是一个地址空间,所以一直没变,释放指的是将这个地址里的内容清除掉,以便使其它的数据可以用这个地址的内存。如果没释放的话,其它的数据就用不了这个址址了。

  c的内存泄露主要是出在指针上面。对于变量,系统都会在用完后自动释放的。

本文链接:http://that-a-way.com/jingtaicunchufenpei/372.html
上一篇:在内存中在PIC32上如何分配INT16的数组
下一篇:没有了

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top