数据类型
这些东西也不是要背下来,而是说基本的东西最好在大脑里面留个印象,有时候真的会忘掉
存储类关键字
auto 可以在声明变量的时候根据变量的初始值的类型自动为此类型变量选择匹配的类型。
register 可以定义变量在寄存器中而不是RAM中,多用于暂存数据,不可以用&来取值(因为没有内存位置),另外因为寄存器的大小是有限的(8位或32位),所以一般是用一个字节或者一个字来表示,用register一般来说是因为我们需要快速存取,比如计数器,多用于局部变量。
static 用于控制变量的生命周期和作用域, 静态变量分配存储空间是在编译时在程序的数据段分配,一次分配全程有效。static声明的静态数据,严格的来讲,可以帮助我们解决一类问题,比如我们在调用一个函数的时候,希望再下次调用它的时候,有一个值可以被一直用下去,而不需要我们用别的方法来存储这个值,如果我们声明全局变量,那么很容易被其他地方修改,不安全,而此时如果我们在函数体内static定义一个变量,每次在调用的时候,可以记录这个值,因为static不会在函数结束调用的时候被释放掉,那么就可以很简单的结局这个问题。
extern 这是一个外链接的方法,当我们在a文件的某个方法或者变量前加上extern的时候,就表明该变量和方法已经在别的文件被定义好了,当编译器在执行到这个变量和方法的时候就会去其他模块找寻。留个小问题,可以辨析:b文件中定义int array[6], 在a文件中用extern *array;这样对吗?为什么?
循环中的控制语句
break 立即跳出当前执行的loop或switch语句;
continue 忽略这次循环执行中剩下的语句,直接进入下一轮的循环;
goto 直接跳转到要执行的那句代码的位置;
局部变量和全局变量
这个就不做别的拓展了,主要说明一下一点,定义局部变量的时候需要我们自己初始化变量的值,而全局变量系统会自动帮它们初始化值的,在使用的时候一定要格外注意,其实初始化变量值是一个很好的编程习惯,可以规避很多不必要的错误。
参考资料:
C/C++中extern关键字详解
静态变量
网友评论