嵌入式面试八股文
嵌入式面试八股文
为巽C语言
1、const
主要用于定义常量,起到强制保护的作用,确保不会被意外修改。
有以下三个用法:
(1)修饰常量
(2)修饰形参
(3)修饰类型成员函数
2、static
主要用于以下三种:
(1)静态局部变量-生周期延长到程序结束。
(2)静态全局变量-限制作用域在本文件。
(3)静态函数-限制作用域为本文。
局部变量存放到哪里:.bss(未初始化)/.data(已初始化)。
3、volatile
主要用于:告诉编译器此变量有可能会意外被修改,不要优化对它的读写。
在嵌入式中常用于:
(1)硬件寄存器。
(2)中断服务程序修改的全局变量。
(3)多线程/RTOS共享的变量。
(4)DMA传输的缓冲区。
4、指针
指针是一个变量,它存储的值是另一个变量的内存地址。
5、函数指针
函数指针就是存储函数的入口地址,通过它可以间接调用函数。也就是说:是一个指针,指向函数的地址。
在嵌入式常用于:回调函数,状态机、函数跳转表
1 | //定义一个函数 |
6、指针函数
指针函数就是它是一个函数,函数的返回值是一个地址。
1 | //定义一个函数,返回值为指针 |
7、指针数组
指针数组就是由指针组成的数组。
1 | //5个 int *指针组成的数组 |
8、数组指针
数组指针就是指向数组的指针
1 | int (*p2)[5]; |
9、返回函数指针的函数
返回函数指针的函数就是返回值为函数指针的函数。
1 | //定义普通函数 |
10、struct 与 union
struct:所有成员各占独立内存
union:所有成员共用一块内存,大小是最大成员



