嵌入式笔试刷题(第40天)
1. 设有如下定义:
int (*ptr)( );
则以下叙述中正确的是( )
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针变量,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
答案:C. ptr是指向函数的指针变量,该函数返回一个int型数据
解答过程:
int (*ptr)()表示:ptr是一个指向函数的指针。- 这个函数没有参数,返回
int类型结果。
2. 定义一个结构体,需4字节对齐,则应填入的V1,V2,V3,V4,V5,V6的值为:
#define PADS(x, y) char pad##x[y]
typedef struct
{
short a;
PADS(V1, V2);
char b[3];
PADS(V3, V4);
char *p;
PADS(V5, V6);
} ST_TEST;
A. 0,1,0,4,0,0
B. 1,2,3,4,5,6
C. 100,2,1234,1,0,0
D. 1,2,3,7,1,12
答案:A. 0,1,0,4,0,0
解答过程:
short a;占2字节,为了4字节对齐,需要加2字节填充。char b[3];占3字节,为了4字节对齐,需要1字节填充。char* p;指针占4字节,已对齐,不需要填充。
3. OPERATION(ST_TEST, e)的结果为:
#define OPERATION(X, Y) ((long)(&(((X *)0)->Y)))
typedef struct
{
int a;
int b[12];
int c[100];
} ST_TEST;
A. 13
B. 52
C. 452
D. 会导致异常退出
答案:B. 52
解答过程:
a占4字节,b[12]占48字节(12×4),那么c的偏移量=4+48=52。- 所以
OPERATION(ST_TEST, c)结果是52。
4. 关于虚函数的描述中,哪个是正确的( )
A
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。
汤臣倍健公司氛围 423人发布
查看27道真题和解析