*写在前面:关于c c的嵌入式开发也有一段时间了,而且之前热爱的是java 但是语言不是重点,重点是理解计算机的一些底层的东西,可以帮助你在处理复杂问题的时候更多的思路。
本书一共17章,我计划采用17篇以上的博客来对这本书进行一次梳理,跟打算在c上继续发展的朋友一起讨论重温的心得。*
第一章概览
很多书的概览是一个全书的精华的浓缩 如Java编程思想
1.1-1.3节
出牛逼c很强大很牛逼(不认可 Java 爱好者不接受洗脑)
C是C++学习的基础,其实可以说C是所有语言的基础甚至是脚本的。1.4-1.10节
计算机的基本原理cpu ->由工作区组成 ->工作区由寄存器组成(寄存器记录指令的地址)
编译器的作用:
1.将高级语言转换成特定机器识别的机器语言。
2.通常是连接器将printf等这一类的系统方法转换成对应的语言
对gcc 新的理解:gcc 不一定需要指定编译(包含 编译跟连接2个动作)之后生成的文件名,他会自动生成a.out 但是下次编译会覆盖。总体来说本书的第一章就是扯淡啥也没有可以直接跳过。
第二章 C语言概述
关于#include 对于编译器而且是一次复制的动作(把标准库中的动作复制到该文件中,使其具备某些能力),所以在工作中不要有太多无效的include
变量申明的意义:1)方便阅读 2)方便规划 3)拼写错误
因此变量的命名尤为重要。% 标准名称为占位符
总结第二章适合入门的人仔细阅读,复习没有必要
第三章 数据和C
值得期待 数据类型中的double 经常出现问题的sizeof 以及_complex 等
数据存储没有涉及很失落
- char 保存数字(0-255) _Bool _Complex(复数) _Imaginary(虚数)
- float double 型 由三部分组成 符号 小数部分 指数部分
- float 类型的计算比int型的差距很大
- %#x显示带有前缀的十六进制
- 16位的int 正负2的15次方
- short 仅保证不大于int long 不小于int 通常longlong 64位 long 32位 short 16位
- long会减慢计算速度 不仅仅是空间问题
- 溢出导致会重新计算