C/C++常见面试题(三)

本文主要增加C语言嵌入式常见的面试题。

🎬个人简介:一个全栈工程师的升级之路!
📋个人专栏:C/C++面试整理
🎀CSDN主页 发狂的小花
🌄人生秘诀:学习的本质就是极致重复!

目录

1、堆和栈的区别

2、栈的大小,堆的大小,malloc可申请的最大内存,受到什么限制?

3、static关键词的作用

4、volatile关键字的作用

5、extern关键字

6、引用和指针的区别

7、malloc的用法和注意点

8、C和C++的区别

9、C语言的编译过程

10、重载、重写、隐藏的区别

11、智能指针

12、内存泄漏和内存溢出

13、深拷贝和浅拷贝

14、回调函数

15、函数调用过程,参数怎么压栈?

16、类型说明符

17、对变量的理解

18、c程序的内存分配

19、sizeof与strlen

20、函数的参数传递

21、Const、指针、int/char等组合的意义

22、数组和指针

23、物理地址和逻辑地址

24、linux进程间通信

25、strcpy和memcpy区别

26、switch的变量允许哪些类型?不允许哪些类型?

27、怎么防止头文件重复调用导致的编译问题

28、实时操作系统有哪些?怎么理解?路由器用的什么操作系统?

29、指针数组和数组指针,双重指针?

30、结构体自增的含义,双重指针自增?

31、寄存器怎么用,怎么操作?

32、怎么获取全局变量和局部变量的地址?(gdb)

33、进程中的同步,异步怎么用?

34、进程和线程的关系和区别?

35、树的遍历(递归&&非递归)

36、链表的排序

37、编译过程:预处理、编译、汇编、链接

38、宏定义有两个#的作用

39、进程调度的几种方式

40、tcp/ip各层的作用

41、udp传输数据过程和关键字

42、原子操作

43、volatile的理解

44、一个进程结束后怎么调用另一个进程(同步的实现)

45、消息队列

46、空指针(NULL)、void *

47、static变量存在头文件中

48、写一遍多进程、多线程,配合互斥锁

49、wifi的具体工作原理?

50、帧聚合

51、dcf(基于csma/ca机制,分布式协调功能)

52、active scan和passive scan

53、lan,wlan,wan

54、struct结构体,怎么根据成员地址获取struct变量的地址?是否有相关的API可用?

55、Linux系统调用的方式?

56、ioctl是什么?

57、描述进程的数据结构?

58、进程同步的方式?

59、线程同步的方式?

60、有没有用过管道?进程间通信的方式?

61、多路复用用过吗?

62、gdb怎么查看一个变量?调试方法?

63、如果http发送的包比较大,怎么传输?MSS的大小由谁决定?分片和分包的区别?

64、数据包从client往server传输,server未成功接收数据,怎么分析问题?

65、iptables的用法?


1、堆和栈的区别

堆和栈是计算机内存中用于管理变量和数据的两种不同的存储区域。

  1. 内存分配方式:栈采用静态内存分配,由编译器自动管理。而堆采用动态内存分配,需要手动进行申请与释放。

  2. 空间大小:栈空间通常较小,具有固定的大小,并且通过函数调用层级来管理

  • 17
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发狂的小花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值