1、局部变量和全局变量
1、局部变量 在函数的开头定义;在函数的复合语句内定义;在函数的外部定义。
2、全局变量 在函数之外定义的变量是外部变量,外部变量就是全局变量(增加了函数数据联系)
3、当全局变量和局部变量同名,在局部变量的作用范围内,局部变量有效,全局变量被屏蔽
2、变量的存储类型和生存期
1、自动变量(auto):函数中的局部变量,如果不专门用static存储类别,都是动态的分配存储空间,存储在动态存储区中,定义时auto可以不写。(离开函数,值就消失)
2、静态局部变量(static):有的局部变量的值在函数调用结束后不消失儿继续保留原值,占用存储单元不释放,在下次调用变量时,改变量已有值,,存储在静态存储区中(离开函数,值仍保留)
3、寄存器变量(register):提高执行效率,存储在寄存器中(离开函数,值就消失)
4、全局变量:都存放在静态存储区中,作用范围:
1、在一个文件内扩展外部变量的作用域(非静态的外部变量,允许其他文件使用)
2、将外部变量的作用扩展到其他文件(非静态的外部变量,允许其他文件使用)
3、将外部变量的作用限制在本文件中(static) 静态外部变量 (只限本文件使用)
static:局部变量:存储在静态存储区中,变量在整个程序执行期间不释放,其所分配的空间始终存在
全局变量:作用域只限于本文件模块。
标签:存储,变量,外部,局部变量,C语言,生存期,全局变量,函数 From: https://www.cnblogs.com/gunancheng/p/17407598.html