嵌入式笔试刷题(第65天)

1. static 有什么用途?至少说明两种

答案:

  1. 限制变量作用域:用于局部变量时,使变量具有静态存储周期,即只初始化一次,但作用域仍限于函数内部。
  2. 限制函数可见性:用于函数或全局变量时,使其只在当前文件内可见,防止外部文件访问。

2. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

答案:有区别:

  • 全局变量:存放在数据段(.data 或 .bss),在程序整个生命周期内存在。
  • 局部变量:存放在**栈(stack)**中,随着函数的调用创建,退出后销毁。

3. 头文件中的 #ifndef/#define/#endif 是干什么用的?

答案:用于防止头文件被重复包含(多次包含同一头文件会导致重复定义错误)。

4. sizeof 计算题(32位系统)

char str[] = "http://www.ibegroup.com/";
char *p = str;
int n = 10;

  • (1) sizeof(str) = 27(包括结尾的 '\0')
  • (2) sizeof(p) = 4(指针大小)
  • (3) sizeof(n) = 4
  • (4) sizeof(str) in void Foo(char str[100]) = 4(退化为指针)
  • (5) void *p = malloc(100); sizeof(p) = 4

5. 表达式:

int i=10, j=10, k=3; 
k *= i + j;

答案:k = 3 × (10 + 10) = 60

6. 程序输出分析

void get_memory(char **p, int num){
    *p 

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式笔试专栏 文章被收录于专栏

本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。

全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务