华为嵌入式面试题1.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
华为嵌入式面试题1.pdf 本资源摘要信息涵盖了五个与嵌入式系统相关的面试题,涵盖了预编译、指针、数组、sizeof运算符和指针运算等基本概念。 1. 预编译: 预编译是指在编译前的准备工作,目的是减少编译时间和提高编译效率。在某些情况下,预编译是必要的,例如: * 使用不经常改动的大型代码体。 * 程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 2. 指针: 指针是C语言中的基本概念,char * const p、char const* p、const char *p的区别在于: * char * const p; // 常量指针,p 的值不可以修改 * char const* p; // 指向常量的指针,指向的常量值不可以修改 * const char *p; // 和 char const *p 一样,表示指针所指向的值为常量 3. 数组和指针: 数组和指针是C语言中的两个基本概念,数组是具有固定大小的连续内存单元,指针是指向内存地址的变量。例如: * char str1[] = "abc"; // 数组变量,具有固定大小的内存单元 * const char *str5 = "abc"; // 指针,指向常量字符串 4. sizeof运算符: sizeof运算符是C语言中的一个运算符,用于计算变量或数据类型的大小。例如: * sizeof(str)/sizeof(str[0]) // 计算数组的大小 * sizeof(str) // 计算指针的大小 sizeof运算符在函数内部和函数外部的使用有所不同,函数内部的sizeof只能计算指针的大小,而函数外部的sizeof可以计算数组的大小。 5. 指针大小: 在32位机器上,指针的大小是4个字节,原因是地址总线的位数决定了指针的大小。 6. 指针运算: 指针运算是C语言中的一个基本概念,例如: * int a[5]={1,2,3,4,5}; // 数组定义 * int *ptr=(int *)(&a+1); // 指针定义 * printf("%d,%d",*(a+1),*(ptr-1)); // 指针运算 在上面的代码中,ptr 实际是 &(a[5]), 也就是 a[5],执行结果是 2,5。
剩余19页未读,继续阅读
- 粉丝: 1
- 资源: 14万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助