局部變量會屏蔽全局變量
引用一個定義過的全局變量
可以用extern 也可以用引用頭文件方式
头文件引用在编译期间报错
extern引用在链接期间报错
表达式 int d = 10*a++ ;
d= 10*a ;然后a自加加;
全局变量本身就是静态存储方式
static(静态)全局变量也是
非静态全局变量的作用域是整个源程序,在各个源文件中都是有效的
而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效。
总上,局部变量改变为静态变量后,是改变了它的存储方式即改变了它的生存期;全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。
static全局变量只初始化一次,防止在其他文件单元中引用
static函数在内存中只有一份,普通函数在每一个被调用中维持一份拷贝。
局部变量存在于 堆栈中,全局变量存在于 静态区 ,动态申请数据存在于堆中