揭开程序员C语言面试笔试的总结

本文总结了C语言面试中的重要知识点,包括关键字register的作用、数据类型的大小、volatile的用途、struct与class的区别、union的理解、大小端内存表示、宏定义、指针与数组的区别、内存对齐、函数递归、指针内存分配以及判断系统大小端的方法。通过对这些知识点的解析,帮助程序员更好地准备面试。
摘要由CSDN通过智能技术生成

最快的关键字register。

  • register这个关键字请求编译器尽可能的将变量存在CPU的内部寄存器中。而不是通过内存寻址访问,提高效率。

short , int , long, char , float ,double这6个关键字代表C中的6种基本的数据类型。在32位系统上,int 占2个字节,long,float都是4个字节,double占8个字节,char占1个字节。 signed char范围是-128 ~127(有符号的字符);unsigned char的范围是0 ~255。

  • **最易变的关键字—volatile,**是易变,不稳定的意思。用它修饰的变量表示可以被某些编译器未知的因素(操作系统,硬件,或者其他线程等因素)改变。遇到这个关键字声明的变量,编译器访问该变量时,就不再进行优化,从而可以对特殊地址进行稳定的访问。特别是寄存器变量,前面要加volatile。
  • C++中struct和class的区别: C++中strcut和class关键字一般是通用的。只不过struct成员默认是public, class成员是private。
  • union关键字: uinon和struct的用法非常类似,差别只是uinon只配置一个足够用大的空间来容纳最大长度的数据成员,所有成员共用一个空间,同一时间只能存储其中的一个数据,所有数据成员具有相同的起始地址。
  • 大小端速记诀窍: 大端:数据的低位在地址的高位;小端反之
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值