1 / 18
文档名称:

华为嵌入式面试题.doc

格式:doc   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

华为嵌入式面试题.doc

上传人:xxj16588 2015/10/3 文件大小:0 KB

下载得到文件列表

华为嵌入式面试题.doc

相关文档

文档介绍

文档介绍:华为嵌入式系统面试题
(1)什么是预编译,何时需要预编译:
答案:
1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
(2)char * const p char const * p const char *p 上述三个有什么区别?
答案:
char * const p; //常量指针,p的值不可以修改
char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p
(3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; cout < < ( str7 == str8 ) < < endl;
结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。
(4)以下代码中的两个sizeof用法有问题吗?
[C易] void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母{ for( size_t i=0; i <sizeof(str)/sizeof(str[0]); ++i ) if( 'a' <=str[i] && str[i] <='z' ) str[i] -= ('a'-'A' ); } char str[] = "aBcDe"; cout < < "str字符长度为: " < < sizeof(str)/sizeof(str[0]) < < endl; UpperCase( str ); cout < < str < < endl; 答案:函数内的sizeof有问题。根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。函数外的str是一个静态定义的数组,因此其大小为6,因为还有'\0',函数内的str实际只是一个指向字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于上只将其当指针看,一个指针为4个字节,因此返回4。
(5)一个32位的机器,该机器的指针是多少位答案:
指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。
6。main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 答案:2。5 *(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5 &a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int) int *ptr=(int *)(&a+1); 则ptr实际是&(a[5]),也就是a+5 原因如下: &a是数组指针,其类型为 int (*)[5]; 而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同 a是长度为5的int数组指针,所以要加 5*sizeof(int) 所以ptr实际是a[5] 但是prt与(&a+1)类型是不一样的(这点很重要) 所以prt-1只会减去sizeof(int*) a,&a的地址是一样的,但意思不一样,
a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a+1是下一个对象的地址,即a[5].
7、请问以下代码有什么问题:
int main()
{
char a;
char *str=&a;
strcpy(str,"hello");
printf(str);
return 0;
} 答案:没有为str分配内存空间,将会发生异常。问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。
8、char* s="AAA

最近更新

最新部编版语文一年级下册试卷期末检测卷带答.. 3页

公路养护的智能未来-大数据与创新驱动的新时代.. 27页

考试失利作文四篇 5页

电工考试题库2025电工考题 28页

电子商务网络创业计划书 39页

公司市场营销策略总结-市场营销活动和策略 24页

元宵节的日记15篇-2 13页

电商托管运营方案 3页

关于寒假日记汇编15篇-3 5页

关于给客户的道歉信范文合集六篇 4页

全面介绍健康教育的重要性-健康教育专家 20页

实用的重阳节活动方案合集十篇 25页

最新小学三年级上册数学知识点重点考点 5页

一年级下册数学教案-6.1-百数表-沪教版-8 4页

2019年国庆班主任工作总结 4页

全球交通:城市化对交通需求的影响-城市化与交.. 25页

全方位工伤保险理赔指南-实践中的流程管理与策.. 23页

工业单层厂房施工图 31页

2020-2021学年陕西省西安市雁塔区高新第二小学.. 8页

农田水利科201-年上半年工作总结及-下半年工作.. 3页

物流小程序创业计划书模板 37页

烘烤设备行业相关投资计划提议 35页

溧阳太阳能光伏电站项目商业计划书 35页

元宵节营销策划-营销策划,照亮元宵之夜 26页

港口安全生产管(三) 5页

2025年安徽职业技术学院单招职业适应性测试题.. 62页

2025年安徽职业技术学院单招职业技能测试题库.. 128页

2025年安徽工业经济职业技术学院单招职业倾向.. 126页

2025年芜湖职业技术学院单招职业倾向性测试题.. 60页

2024年海南中考数学试题及答案word 10页