1.无论是全局的静态变量还是局部的静态变量都存放于全局变量区域,生命周期是从程序开始到程序结束,注意,是程序不是函数。
2.静态局部变量vs局部变量:如下所示,a的存活周期是函数test()执行期间 ,而b的存活周期是整个程序的执行期间。但是他们的作用区域是一样的。
void test()
{
int a=3;
static int b=10;
}
3.普通全局变量与静态全局变量:存储方式相同,都是静态存储方式;静态全局变量只初始化一次;普通全局变量作用域是整个 源程序,静态全局变量只作用于一个源文件内。
4.静态函数与普通函数:静态函数在内存中只有一份,而普通函数每次调用都会进行一次拷贝。