总线按功能和规范可以分为五大类型
数据总线:在cpu与ram之间来回传送需要处理或是需要存储得数据
地址总线:用来指定在ram之中存储的数据的地址
控制总线:将微处理器控制单元的信号传送到周边设备
扩展总线:外部设备和计算机主机进行数据通信的总线,例如ISA总线,PCI总线
局部总线:取代更高速数据传输的扩展总线
其中数据总线DB、地址总线AB、和控制总线CB称为系统总线,即通常意义上所说的总线。
声明和定义的重要区别
定义创建了对象并为这个对象分配一块内存,而声明的时候是没有分配内存空间的。
局部变量和全局变量采取就近原则
define和const的区别
define定义宏常量,没有类型,不分配空间,预编译时进行宏替换,宏名相当于自注释
const关键字修饰的变量称为常变量,可读不可写
const有数据类型而define没有,编译器可以对const进行类型检查
可见性(作用域)和生存期
可见性(作用域):指标识符能够被使用的范围,只有在作用域内标识符才可以被使用。
此阶段针对编译和链接过程。
1)函数中定义的标识符,包括形参和函数体中定义的局部变量,作用域都在函数内,也称作函数域。
2)文件作用域也称全局作用域,定义在所有函数之外的标识符,具有文件作用域,
生存期(生命期):此阶段针对的是程序的执行过程。
生命期指的是标识符从程序开始时被创建,具有存储空间,到程序运行结束时消亡,释放存储空间的时间段。
1)局部变量的生存期是;函数被调用,分配存储空间,到函数执行结束,存储空间释放,存储到stack区。
2)全局变量的生存期是:从程序执行前开始,到执行后结束,存储在date区
3)动态生命期是:标识符由特定的函数调用或运算来创建和释放,如调用malloc()为变量分配存储空间,变量的生命期开始,而调用free()释放空间或程序结束时,变量生命期结束。具有动态生命期的变量存储在堆区.heap。
左值和右值
左值是可以赋值、读取、改变
右值是不可以赋值可以读取不可以改变
常见硬件设备所对应的文件
stdin:标准输入文件,一般指键盘;scanf()、getchar()等函数默认从stdin获取输入
stdout:标准输出文件,一般指显示器;printf()、putchar()等函数默认向stdout输出数据
stder:标准错误文件,一般指显示器;perror()等函数默认向stderr输出数据
stdprn:标准打印文件,一般指打印机
typedef关键字
类型重命名关键字,在计算机编程语言中用来为复杂的声明定义简单的别名
static静态关键字
修饰局部变量 可见性:当前函数 生存期(执行过程)变化到.date
修饰全局变量 可见性:只能在当前文件中可见 生存期.date
extern关键字
extern用在全局变量或函数声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。