全局变量,局部变量,静态变量,外部变量的区别
全局变量是在所有函数体的外部定义的,程序的所有部分(甚至其他文件中的代码)都可以使用.全局变量不受作用哉的影响,总是可用的(也就是说,全局变量的生命期一直到程序的结束)
局部变量出现在一个作用域内,它们是局限于一个函数的.局部变量经常被称为自动变量,因为它们在进入作用域时自动生成,离开作用域时自动消失.
静态变量是指那些本不应该在程序整个生命期里存在的变量可以在程序的整个生命期里存在的变量(如局部变量),要达到这样的效果,只要在这样的变量前加上static就可以了,static变量的是在函数范围之外他是不可用的,所以它不可能被轻易地改变,这会使错误局部化,static的另一个意思是:在某个作用域外不可访问.当使用static于函数名和所有函数外部的变量时,它的意思是"在文件的外部不可以使用这个名字",函数名或变量是局部于文件的.
外部变量是指在文件a中定义了一个全局变量,在文件b中声明并使用这个全局变量时,这个全局变量对于b来说是外部变量