static修饰两个方面:
修饰变量:全局变量(改变了作用域)和局部变量(改变了生存期)。
修饰函数:
static全局变量和普通全局变量:static全局变量只初始化一次,防止被其他文件引用。
static局部变量和普通局部变量:static局部变量初始化一次,下一次调用维持上一次的值。
static函数和普通函数:static在内存中维持一份,普通函数在每个调用中拷贝一份。
程序中的局部变量存放在堆栈中,全局变量存放在静态区,动态申请的存放在堆中。
全局变量在定义时不做初始化,系统默认为其赋数值型0
字符型为‘\0’
全局变量的弊端:增加内存的开销,降低函数的通用性。