8.6.1 C语言和汇编的区别(汇编完全对应机器操作,C对应逻辑操作)
(1)C语言叫高级语言,汇编语言叫低级语言。 (2)低级语言的意思是汇编语言和机器操作相对应,汇编语言只是CPU的机器码的助记符,用汇编语言写程序必须拥有机器的思维。因为不同的CPU设计时指令集差异很大,因此用汇编编程的差异很大。 (3)高级语言(C语言)它对低级语言进行了封装(C语言的编译器来完成的),给程序员提供了一个靠近人类思维的一些语法特征,人类不用过于考虑机器原理,而可以按照自己的逻辑原理来进行编程。譬如数组、结构体、指针… (4)更高级的语言如Java、C#等只是进一步强化了C语言的人性化的操作界面语法,在易用性上、安全性上进行了提升。
8.6.2 C语言的一些“小动作”
(1)高级语言中有一些元素是机器中没有的; (2)高级语言在运算中允许我们大跨度的运算。意思就是低级语言中需要好几步才能完成的一个运算,在高级语言中只要一步即可完成。譬如C语言中一个变量i要加1,在C中指需要i++即可,看起来只有一句代码。但实际上翻译到汇编阶段需要3步才能完成:第1步从内存中读取i到寄存器,第2步对寄存器中的i进行加1,第3步将加1后的i写回内存中的i。
8.6.3使用临时变量来理解强制类型转换
想要成为一个高手,那么就是要将C语言中的很多简单的内容去深入的理解,多问自己为什么?本质是什么样的?内存中