数据都存放在哪些区
来源:互联网 发布:战地1数据查询 编辑:程序博客网 时间:2024/05/16 15:41
数据都存放在哪些区?我第一印象,这样一道笔试题,考察的内容很多啊。
数据存放到哪里,不仅仅是一个问题了,还牵涉到作用域,以及内存管理的感念,考察的挺全面的。
平时我们经常会根据作用域,说这个变量是局部的,静态的,全局的等等,那么这些东西是怎么定义或存放呢?
(1)局部变量:类的成员变量,函数内部声明的变量都是局部变量(包括函数的参数列表,通过数据拷贝),这些都存放在栈区中,一般由系统进行释放;
(2)全局变量:在类外或者函数外声明的变量,其他地方用时extern一下变量声明就可以用,这样的一般存放在全局区或者静态区中,也由系统进行释放;
(3)静态变量:static一下就静态的了,这样的变量隶属于整个应用程序的声明周期,也存放在全局区或静态区中,如果是非指针的话,由系统释放,而如果是我们通过new或者malloc,那么只能由我们手动释放(哎这样的new/malloc后,又存放到堆heap中了。注意了,一句话,new或者malloc的都是堆中存放,并且自己申请,必须自己释放,要不内存泄漏)。
说到内存泄漏问题,不得不说一下常见的内存泄漏缘由(还是作用域)。经常看见一些不成熟的代码结构,譬如,需要申请空间的对象在函数内存声明,你都放到函数内部了,还不在内部进行释放,悲惨吧!或者想在外面用,但是又经常在内部被不断申请进行指针重置,外面又无法确认指针进行释放,不漏才怪!
一句话,你new或malloc的指针放到类成员中或者类成员中的列表中,这不就可以通过维护类进而对内存进行维护,不会丢失了!此外,别free delete对象后就完事了,要对别人负责,不然别人调用后不仅没有指针判空的依据,还可能搞成悬浮指针,最好指针声明前NULL,释放后NULL。
- 数据都存放在哪些区
- 数据科学近3年都应用在哪些领域?
- object[]可以存放哪些类型的数据?
- 一个程序运行时,哪些变量存放在堆中,哪些变量存放在栈中?
- C语言里,哪些变量是存放在堆里,哪些是存放在栈里?
- java数据存放在哪里?
- java 数据存放在什么地方
- C语言中关于哪些数据放在哪些区?
- 在互联网行业干数据分析师,都需要掌握哪些技能?编程语言?软件工具?
- 问卷数据分析方法都有哪些?
- 面试二 session和cookie都存放什么数据
- Calendar 数据存放在SQLite中
- 数据在存储器中的存放方式
- opentsdb采集的数据存放在哪里
- 你的数据存放在哪
- 销售行业ERP数据统计分析都有哪些维度?
- 大学开设大数据专业,都安排了哪些课程?
- 执行存放在的数据区的机器指令的方法
- 10. Leaders
- quint16转换成QString
- codeforces 231A Team
- 【CSS】CSS选择器的妙用,学会你就不用js了。
- Ubuntu17.04安装和卸载mongodb
- 数据都存放在哪些区
- JAVA swing组件一些修饰方法
- 474. Ones and Zeroes
- 淘淘商城实战高并发分布式项目(2016.8月新版)
- js判断数组为空
- 兑换硬币(简单版,枚举)
- Secret Poems(字符串处理)
- HTML5 根据 一级下拉列表的选中项动态改变2级下拉列表的选项
- 欢迎使用CSDN-markdown编辑器