静态变量(内部、外部) 全局变量 差别

时间:2022-09-13 18:26:13



外部静态变量

内部静态变量

全局变量

作用域

只在定义它的源文件有效,同一程序的其他源文件不能使用

所在源文件,局部可用(所定义的{}内有效)

默认为所在源文件;若其他文件需要使用,用extern声明

生命期

从定义到程序结束

从定义到程序结束

从定义到程序结束

初始化

自动赋值为0

自动赋值为0

自动赋值为0

注意:

1)在include头文件时,只需要当成将头文件中的代码放到引用文件中,同时,一个类的一个方法只有一份内存,与Java中相同。

2)所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问,如果加了static,就会对其它源文件隐藏。