关键字extern是声明变量或函数具备外部特性,也是说当前源文件只要使用extern声明变量或函数,就可以使用其他源文件中的变量(一般为全局变量)或函数。
关键字register修饰的变量为寄存器变量, cpu读取寄存器变量相较于内存的变量的书读快些。需要注意的如果register修饰变量只是建议该变量为寄存器变量,最终是不是是由编译器决定的。
static修饰的变量为静态变量,静态变量的生命周期是整个进程,存在于全局区(静态存储区)。如果函数中存在静态变量,如果函数多次调用,静态变量只会初始化一次,这种特性也是普通局部变量说不具备的。
char类型为1字节;short类型为2字节;int类型为4字节;long类型为4字节;float类型为4字节;double类型为8字节。
补码是从数据的反码得来。如果是无符号数:数据的补码就是原码。如果是有符号数:正数:数据的补码就是原码;负数:数据的补码就是反码+1。