嵌入式软件工程师经典的面试题
来源:嵌入式专栏 发布时间:2024-08-22 分享至微信
1 用#define声明一个常数,表明1年中有多少秒(忽略闰年问题)?
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
2 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个?
#define MIN(A,B) ((A) <= (B) ? (A) : (B))
3 Heap与Stack的差别?
int a = 0; //全局初始化区
char *p1;//全局未初始化区
void main(void)
{
int b; //栈
char s[] = "abc"; //栈
char *p2; //栈
char *p3 = "123456"; //123456\0在常量区,p3在栈上
static int c =0; //全局(静态)初始化区
p1 = (char *)malloc(10); //堆
p2 = (char *)malloc(20); //堆
}
4 用变量a给出下面的定义
5 关键字static的作用是什么?
6 关键字const有什么含意?
7 下面的声明都是什么意思?
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
8 关键字volatile有什么含意?
9 sizeof和strlen的区别?
10 在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务?
int *p;
p = (int*)0x67a9;
*p = 0xaa66;
11 给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变?
#define BIT3 (0x1 << 3)
static int a;
void set_bit3(void)
{
a |= BIT3;
}
void clear_bit3(void)
{
a &= ~BIT3;
}
12 下面函数错误吗?
int square(volatile int *ptr)
{
return *ptr * *ptr;
}
long square(volatile int *ptr)
{
int a;
a = *ptr;
return a * a;
}
[ 新闻来源:嵌入式专栏,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论
暂无评论哦,快来评论一下吧!
嵌入式专栏
作者黄工【strongerHuang】,专注分享嵌入式软件、硬件、工具等相关内容,通过专栏形式精选并整理更多嵌入式相关教程。
查看更多
相关文章
汇总嵌入式C语言经典的面试题
2024-07-19
嵌入式工程师未来出路在哪里?
2024-08-22
通用汽车拟裁千余软件工程师,聚焦数字化转型
2024-08-21
半导体工程师面试指南:光刻、晶圆制造与FPGA核心问题集萃
2024-08-13
硬件工程师需要知道的几种常用胶
2024-08-15
热门搜索