全局变量和局部变量,关键字static的作用

时间:2022-10-25 20:22:28

全局变量和局部变量

全局变量:在函数外定义的变量成为全局变量;全局变量在静态存储区分配存储但愿,在程序运行期间都不释放,在文件中的函数均可调用该全局变量,其他文件内的函数调用全局变量,需加extern声明.

 

静态全局变量:在函数外定义变量时,若加上static声明,则此变量为静态全局变量.

 

局部变量:在一个函数中或复合语句中定义的变量,在动态存储区分配存储单元,在调用时动态分配,在函数或复合语句结束时自动释放.

 

静态局部变量:在一个函数中定义局部变量时,若加上statci声明,则此变量为静态局部变量.

 

局部变量和全局变量的区别:全局变量就是整个源程序都有效的的变量,而局部变量会在其所属的函数或循环等结束后消亡.

 

关键字static的作用

1.在函数体内,一个被声明为静态的变量在这一函数体内被调用过程中维持其值不变(该变量存放在静态变量区) 

2.在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被其他模块外其他函数访问,它是一个本地的全局变量

3.在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用.那就是,这个函数被限制在声明它的模块本地范围内使用