#C
位运算
位运算在 嵌入式开发中可能常用
if 和 switch
先谈 if 和 switch 需要注意的问题,然后说一说二者的性能问题
关于数组
数组就是一片连续的内存空间,并且被划分成大小相等的小空间
标准输入输出
标准输入输出,即 scanf 和 printf,这两个函数有太多需要注意的地方
随机数生成
C语言提供两个随机数相关的函数,即 rand 和 srand。主要弄清楚它的伪随机,以及如何产生真正意义上的随机数
进程的虚拟内存空间
操作系统给每个进程营造一种假象,即独占整个内存。在 x86 系统中,为每个进程虚拟出 4G 的内存空间,其中 3G 为用户空间,这块空间各进程相互独立;1G 为内核空间,这块空间进程间共享
生成可执行文件的过程
要想深刻理解从源代码到可执行文件的过程,那就去实现一个编译系统,实现一个简易版的即可。也许我后面有机会去做这个事情,但不知道会不会有这个空闲了
i++ 和 ++i 的区别
i++ 本身并不立即自增,返回值为 i 本身的原始值。++i 本身立即自增,返回值为 i + 1
类型转换
防止隐式类型转换带来的不确定性,显示转换带来的精度丢失问题
变量和常量
数据类型定义字节大小,变量名是内存地址的别名,存储实际数据。这个内存地址是存储实际数据的起始地址,而数据类型的字节大小就表明从这个起始地址开始读取的字节大小,这样就能够找到对应存储的实际数据,不会多读,也不会少读