嵌入式笔试刷题(第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 内核、以及实用电路知识等内容。