嵌入式筆試刷題(第51天)
1. 聲明:返回 char *
的函數(shù)指針,參數(shù)是 char*
和 char
? 答案:
char* (*func_ptr)(char*, char);
?? 說明:
- 返回值:
char*
- 參數(shù):
(char*, char)
- 使用括號避免解析混亂
2. 在 bbb.c 中引用 aaa.c 的全局變量 g_rec_count
? 答案:
extern int g_rec_count;
?? 說明:
extern
表示引用外部定義的變量,不會重復(fù)定義
3. 設(shè)置與清除 bit5(即第 6 位)
#define BIT5 (0x1 << 5) static int a; void set_bit(void) { a |= BIT5; } void clear_bit(void) { a &= ~BIT5; }
?? 說明:
- 設(shè)置位用
|=
- 清除位用
&= ~
4. 寫一個函數(shù),在 /home
創(chuàng)建 log.txt 文件并寫入 msg
int msg_save(char *msg) { FILE* fp; char fname[] = "/home/log.txt"; fp = fopen(fname, "w"); if (!fp) return -1; fputs(msg, fp); fclose(fp); return 0; }
?? 說明:
fopen
打開文件,fputs
寫字符串,fclose
關(guān)閉
5. 內(nèi)存泄漏的定義、原因、后果
? 簡答:
- 定義:申請了內(nèi)存但未釋放,導(dǎo)致內(nèi)存無法再利用
- 原因:缺少
free()
、異常退出、循環(huán)申請未清理等 - 后果:內(nèi)存占用持續(xù)增長,最終導(dǎo)致系統(tǒng)卡頓或崩潰
6. 翻譯:
? 翻譯:
管理硬件資源的接口具有 Open 和 Close 函數(shù)。Open
剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買
嵌入式筆試專欄 文章被收錄于專欄
本專欄系統(tǒng)整理了嵌入式方向筆試中常見的知識點(diǎn)和高頻考題,涵蓋基礎(chǔ)理論、常用算法、C語言陷阱、操作系統(tǒng)原理、驅(qū)動開發(fā)、常見外設(shè)通信協(xié)議(如 I2C/SPI/UART)、RTOS、Linux 內(nèi)核、以及實(shí)用電路知識等內(nèi)容。