static
[TOC]
1.概述
static 可以控制变量的储存方式和可见性
static局部变量在编译阶段分配空间,在程序结束时释放
静态全局变量不能被其它文件所见,在其他文件中也可以定义同名变量,不会冲突
可提高程序的模块性,有利于扩展和维护
改变变量的生命周期
2.static的作用
static 修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,并且自动初始化为0
2.1 修饰变量
static修饰的静态局部变量只执行一次初始化,延长该变量的生命周期,程序结束后释放
2.2 修饰全局变量
这个全局变量只能在本文本中访问,不能再其他文件中访问
2.3 修饰函数(静态函数)
static修饰一个函数,则这个函数只能在本文件中调用,不能被其他文件调用
3.注意
不能使用普通变量来初始化静态变量,只能用常量初始化
如:
int a = 1;
static int b = a; //错误,a在程序执行后才初始化,b在编译时分配空间



