甲骨文面试题目
来源:互联网 发布:mac ai英文版变中文版 编辑:程序博客网 时间:2024/05/16 01:06
下面的代码所分配的堆空间一样多吗?为什么?
void f1()
{
int* p = new int[100];
}
void f2()
{
int* p[100];
for(int i=0; i<100; i++)
p[i] = new int;
}
注意:
这个题目其实隐含的考察了栈空间和堆空间的概念,如果你的答案是不一样多,但是原因是因为一个只用了1个指针另一个用了
100个指针,那么你显然没机会了。当然可能只是当时粗心,但是,面试不是做慈善。
正确答案是不一样,因为其实每次申请堆空间的时候都会多出一个操作系统所用的“信息”空间,这些空间附带在你申请到的空间之前,用于标识
这个空间的大小等信息。因此,一次性申请100个空间那么,这个“信息”空间只有一个,而分开申请100次,那么就有了100个“信息”空间。
所以说,两种申请方法,你能用的堆空间一样多,但是真正从系统中消耗的空间是不同的,f2消耗的堆空间比较多。
0 0
- 甲骨文面试题目
- 甲骨文面试题目
- 甲骨文oracle测试面试记录
- 甲骨文面试经历 Oracle Interview
- 2014南京甲骨文实习生面试
- Oracle(甲骨文亚洲研发中心)面试
- 2013.6甲骨文公司的电话面试
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 面试题目
- 一句话说技术
- 京东商城京东白条使用详解 图解京东白条的使用方法
- 透彻分析TLV数据保存
- HDU 2640
- 寒假训练--字符串--字符串扩展
- 甲骨文面试题目
- HTML 5 WEB SQL核心三叉戟
- Android智能手机上捕获数据包(图文)
- 生成chm格式的文档
- Spring依赖注入的三种方式
- Openstack登录时验证错误
- 总结出一些software必定会被问到的问题 C、C++部分
- 寒假训练--字符串--子串
- fild与fmul的问题