什么叫做代码块呢?
代码块就是我们在复合语句中的就要代码块,在代码块中的auto(自动变量)是无法超出这个范围的,一旦超出了这个范围的话就会消失它的作用,比如:void main()
{ 这个main函数的花括号就是一个代码块,而我们要在它的里面再定义一个代码块
{ 这个就是一个代码块,这是个内部的代码块,虽然是写在main函数里的,但是,里面的代码块的变量无法超出这个范围。
int k=0;
k++;
}
}
auto(自动变量),它的作用就是在某一定的代码块中使用,就像我们平时定义的变量都是省略了这个auto(自动变量)的,一旦你声明的auto(自动变量)超出了范围的话,它的数值也就为清空了,为零。
register(寄存器),寄存器的好处就是,在编程解决循环较多的时候利用,可以使得返回的速度快。
static(静态变量),它都作用域都是在一个源程序中,只有当这个源程序关闭的的时候才会消失这个变量,而访问的时候,也只有在源文件当中才能访问,一旦超出了这个源文件的情况下就会消失这个变量的。
extern(外部变量) ,以上的变量想要跨文件使用的话就需要定义一个extern(外部变量),这样可以引用register(寄存器),也可以引用static(静态变量),从而达到跨文件的效果。
以上的四种变量都是有自己的作用域,各具特色,我们用的时候就要小心。