嵌入式笔试刷题(第53天)
第1题
题目:声明一个指向函数的指针。该函数的返回值是一个 char 指针,参数为一个 char 指针和一个 char 值。
答案:
char* (*func_ptr)(char*, char);
解析:
char*是函数的返回类型;(*func_ptr)表示 func_ptr 是指针;(char*, char)是函数的参数。
第2题
题目:int g_rec_count = 10; 在 bbb.c 中引用 g_rec_count 需要怎么声明?
答案:
extern int g_rec_count;
解析:使用 extern 关键字声明其他文件中的全局变量,以在当前文件中引用。
第3题
题目:给定变量 a,设置 bit5 和清除 bit5,保持其他位不变。补全如下函数。
#define BIT5 (0x1<<5)
static int a;
void set_bit(void)
{
a |= BIT5;
}
void clear_bit(void)
{
a &= ~BIT5;
}
解析:
|=设置某位为 1;&= ~清除某位为 0。
第4题
题目:实现函数,在 /home 创建 log.txt,写入字符串 msg。
答案:
int msg_save(char *msg)
{
FILE* fp;
char fname[] = "/home/log.txt";
fp = fopen(fname, "w");
if (fp == NULL) {
return -1;
}
fputs(msg, fp);
fclose(fp);
return 0;
}
解析:使用标准文件操作 fopen, fputs, fclose 写入字符串到文件。
第5题
题目:解释“内存泄漏”、形成原因及后果。
答案:
- 定义:程序在堆上申请了内存但未释放,导致内存不能被回收,称为内存泄
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。

字节跳动公司福利 1307人发布