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

全部评论

相关推荐

05-20 14:22
广州大学 后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务