设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

linux c ---华为面试题之Variable

2012-4-27 10:59| 发布者: 红黑魂| 查看: 2297| 评论: 0|来自: CSDN博客

摘要: 华为面试题:程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。一点小总结:1、关于堆栈,印象最深的就是在做uboot移植,在你准备进入c代码时,你必须给c代码一个良好的 ...
华为面试题:
程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。

一点小总结:

1、关于堆栈,印象最深的就是在做uboot移植,在你准备进入c代码时,你必须给c代码一个良好的运行环境,其中重要的一项就是设置堆栈。

2、关于静态内存分配和动态内存分配的区别及过程
1) 静态内存分配是在编译时完成的,不需要占用CPU资源;动态分配内存是在运行时完成的,动态内存的分配与释放需要占用CPU资源;
2) 静态内存分配是在栈上分配的,动态内存是堆上分配的;
3) 动态内存分配需要指针或引用数据类型的支持,而静态内存分配不需要;
4) 静态分配内存需要在编译前确定内存块的大小,而动态分配内存不需要编译前确定内存大小,根据运行时环境确定需要的内存块大小,按照需要分配内存即可。可以这么说,静态内存分配是按计划分配,而动态内存分配是按需分配。
5) 静态分配内存是把内存的控制权交给了编译器,而动态内存是把内存的控制权交给了程序员;
 
综上所述,静态分配内存适合于编译时就已经可以确定需要占用内存多少的情况,而在编译时不能确定内存需求量时可使用动态分配内存;但静态分配内存的运行效率要比动态分配内存的效率要高,因为动态内存分配与释放需要额外的开销;动态内存管理水平严重依赖于程序员的水平,如果处理不当容易造成内存泄漏。

转载自:http://blog.csdn.net/muge0913/article/details/7313859


酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部