static:改变变量或者函数的生命周期,作用域,默认值,链接属性
extern int aaa;//extern 说明这个变量在其他文件里存在
#include"abcd" 自己写的头文件用" "
全局变量:定义在函数外面的变量,尽量少使用;
局部变量:定义在函数内部的变量,包括形参;
static:静态关键字.可以用来修饰全局变量,局部变量(不能修饰形参)和函数.
变量总结
内存块划分
代码段:存放程序的代码;
全局(静态)变量区:存放全局变量和静态 变
量
栈:存放局部变量,系统自行管理该内存,内
存区域小,Windows默认1M.
堆:动态内存区域,内存区域大,需要由程序
自行管理内存,使用后一定要释放,否则
出现内存泄漏.
注:全局(静态)变量区默认初始值为0
全局变量统一放在全局变量区
局部变量无链接属性。
普通局部变量:不给初始值则默认值为随机值
当 int a=0;
静态局部变量:static改变了函数生命周期
不给static int a=0;打印的结果不变;说明静态局部变量的默认值为0
全局变量
如果全局变量和局部变量同名,一般采取就近原则,如图abc打印值为333,而不是111
全局变量默认值为0;
例: