"嵌入式软件工程师笔试题总结:预编译、指针区别、字符串初始化"

版权申诉
0 下载量 99 浏览量 更新于2024-02-19 收藏 83KB DOC 举报
嵌入式软件工程师笔试题1.doc是一份关于嵌入式软件工程师经典笔试题的文档,其中包含了几个问题和答案。首先是关于预编译的问题,预编译通常指的是在编译过程之前对代码进行一些处理,以提高编译效率或者实现一些特定功能。需要进行预编译的情况包括总是使用不经常改动的大型代码体,并且程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头文件,从而加快编译速度。 接下来是关于指针的问题,char * const p表示p为常量指针,即p的值不能被修改,而char const * p和const char *p都表示指向常量的指针,指向的常量值不能被修改。这三者之间的区别在于const关键字的位置不同。 最后是关于字符串的问题,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"; 这段代码中定义了多个字符串数组和指针,然后对它们进行比较。在这段代码中,str1和str2都是字符数组,它们存储在栈上,每个数组都有自己的地址,所以str1和str2的地址不同。str3和str4是常量字符数组,它们存储在只读存储器中,不能被修改。str5和str6是指向常量字符数组的指针,它们指向的内容也不能被修改。str7和str8是指向字符数组的指针,它们指向的内容可以被修改。最后输出的结果为0,表示str1和str2的地址不同。 总的来说,嵌入式软件工程师笔试题1.doc中包含了关于预编译、指针和字符串的几道经典问题,通过这些问题可以检验应聘者的基本能力和对嵌入式软件开发的理解。对于想要成为一名优秀的嵌入式软件工程师的人来说,熟悉这些问题并能够正确回答是非常重要的。希望通过不断的学习和实践,能够在这个领域取得更好的成就。
资料大全
上传资源 快速赚钱