宣讲会
招聘会
校园招聘
找实习
事业单位
公务员
求职宝典
校招QQ群
求职交流
联系我们
校园宣讲会
请选择 进入手机版 | 继续访问电脑版
校园招聘/广告信息群发推广流程(2015-09-22)

[笔试] 登录 | 注册 关闭 Luyouzhen的博客 目录视图摘要视图订阅 联想笔试题(附简单答案)

[复制链接]
admin 发表于 2017-8-15 14:54:17 | 显示全部楼层 |阅读模式

(1)设计函数 int atoi(char *s)。

(2)int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?

(3)解释局部变量、全局变量和静态变量的含义。

(4)解释堆和栈的区别。

解答:(1)

(2)逗号表达式,i=32;

(3)定义在函数里的就是内部变量,其作用域就是本函数范围,又被称为局部变量。局部变量被存储在栈区;定义在函数外的是外部变量,作用域从定义时刻开始到程序运行结束。如果外部变量在程序一开始就被定义,一直作用到程序结束。外部变量又被称为全局变量,被存储在内存的全局数据区里。给变量冠以static,变量就是静态变量。静态变量采用静态存储方式,在定义时就已分配好内存,程序运行过程中不会改变。静态变量只在本源文件内有效。

(4)堆(Heap)、栈(Stack)

堆由程序员分配,C语言中用malloc函数,C++中用new函数,堆区在内存区,而内存区是向高地址位扩展的不连续区域。如果程序员在程序结束时没有人工释放内存,OS会自动会回收内存。

栈由编译器分配,栈是向低地址位扩展的连续内存区域。先入栈的是待执行的下一条指令,接着是参数(从右往左依次),最后是局部变量。栈的分配速度较快。

   






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 用百度帐号登录 新浪微博登陆

本版积分规则

校园宣讲会网 Inc.( 沪ICP备12035684号

快速回复 返回顶部 返回列表