嵌入式C语言面试题汇总(超经典)

第一部分:基本概念及其它问答题

1、关键字static的作用是什么?

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

1).在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2).在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

3).在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

嵌入式C语言面试题汇总(超经典)

嵌入式C语言面试题汇总(超经典)

、1)引用必须被初始化,指针不必。

嵌入式C语言面试题汇总(超经典)

2)引用初始化以后不能被改变,指针可以改变所指的对象。3)不存在指向空值的引用,但是存在指向空值的指针。指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其它情况都推荐使用引用。

3、.h头文件中的ifndef/define/endif答:防止该头文件被重复引用。

4、#include与#include“file.h”的区别?

答:前者是从StandardLibrary的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。

5、描述实时系统的基本特性

答:在特定时间内完成特定的任务,实时性与可靠性。

6、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?答:全局变量储存在静态数据区,局部变量在堆栈中。

7、什么是平衡二叉树?

答:左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。

8、堆栈溢出一般是由什么原因导致的?

答:1.没有回收垃圾资源

2.层次太深的递归调用

你可能喜欢

  • 面试题大全
  • 卫生系统事业单位面试
  • 卫生系统面试题及答案
  • 护士面试题目
  • 数据结构算法面试题
  • 面试宝典

嵌入式C语言面试题汇总(超经典)相关文档

最新文档

返回顶部