嵌入式培训
达内IT学院
400-996-5531
今天本文继续为大家分享三道嵌入式开发相关面试题,请大家思考过后,再到下方寻找答案,考验一下自己的嵌入式知识掌握情况。
题一:
中断与异常有什么区别?
题二:
引用与指针有什么区别?
题三:
堆与栈有何区别?
题一答案:
异常:在产生时必须考虑与处理器的时钟同步,实际上异常也称为同步中断。在处理器执行到由于编程失误而导致的错误指令时,或者在执行期间出现特殊情况(如缺页),必须靠内核处理的时候,处理器就会产生一个异常。
所谓中断就是外部硬件产生的一个电信号,从CPU的中断引脚进入,打断当前CPU的运行
所谓异常就是软件运行中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断当前运行,转入异常处理流程。
题二答案:
a:引用必须初始化,指针不必
b:引用初始化不能改变,指针可以被改变
c:不存在指向空值的引用,但存在指向空值的指针
注:用const限定引用的目的是:用这种形式的引用不能通过引用对目标变量的值进行修改
形式为const类型标识符&引用名=目标变量名
eg:Example(constExample&x)
引用的主要目的:当参数传递的数据量较大时,用引用比用一般变量传递参数的效率和空间占有率较好
题三答案:
eap是堆,Stack是栈;
Stack的空间由操作系统自动分配/释放,Heap上的空间是手动分配/释放;
C中的malloc函数分配的内存空间在堆上,C++对应的是new操作符;
程序在编译期间对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved