嵌入式常见面试题

嵌入式常见面试题

ID:13092634

大小:38.50 KB

页数:21页

时间:2018-07-20

嵌入式常见面试题_第1页
嵌入式常见面试题_第2页
嵌入式常见面试题_第3页
嵌入式常见面试题_第4页
嵌入式常见面试题_第5页
资源描述:

《嵌入式常见面试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式常见面试题(2)char*constpcharconst*pconstchar*p上述三个有什么区别?答案:char*constp;//常量指针,p的值不可以修改charconst*p;//指向常量的指针,指向的常量值不可以改请问以下代码有什么问题:intmain(){chara;char*str=&a;strcpy(str,”hello”);printf(str);return21嵌入式常见面试题(2)char*constpcharconst*pconstchar*p上述三个有什么区别?答案

2、:char*constp;//常量指针,p的值不可以修改charconst*p;//指向常量的指针,指向的常量值不可以改请问以下代码有什么问题:intmain(){chara;char*str=&a;strcpy(str,”hello”);printf(str);return210;}答案:没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。写一个“标准”宏,这个宏输入两个参数并返回较小的一个。答案:#

3、defineMin(X,Y)((X)>(Y)?(Y):(X))//结尾没有‘;’char*s=“AAA”;printf(“%s”,s);s[0]=‘B’;printf(“%s”,s);有什么错?答案:”AAA”是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosntchar*s=“AAA”;21然后又因为是常量,所以对是s[0]的赋值操作是不合法的。嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。答案:while(1){}或者for(;;)关键字const有什么含意?答

4、案:表示常量不可以修改的变量。1、关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1).在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2).在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3).在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。关键字volatile有什

5、么含意?并举出三个不同的例子?答案:提示编译器对象的值可能在编译器未监测到的情况下改ora–b–a;static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?答案:全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,21当一个源程序由多个源文件组成时,非静态的全局

6、变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于()中。答案:栈;静态区;堆6、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?答:全局变量储存在静态数据区,局部变量在堆栈中。8、堆栈溢出一般是由什么原因导致的?答:1.没有回收垃圾资源2.层次太深的递归调用14、如何引用一个已经定义过的全局变量?答、可以用引用头文件的方式,也可以用exte

7、rn关键字,4、队列和栈有什么区别?答案:队列先进先出,栈后进先出3、.h头文件中的ifndef/define/endif21的作用?答:防止该头文件被重复引用。4、#include与#include“file.h”的区别?答:前者是从StandardLibrary的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。17、do„„while和while„„do有什么区别?答21、前一个循环一遍再判断,后一个判断以后再循环。19、程序的内存分配答:一个由c/C++编译的程序占用

8、的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。