目录
1.变量分类(引入存储类别)
1)存在时间看动态存储还是静态存储
2)作用域:局部变量和全局变量
1.变量分类(引入存储类别)
变量和函数都有两个属性:数据类型和数据存储类别(auto自动、statis静态、register寄存器、extern外部的)--根据存储类别可知作用域和生存期
1)存在时间看动态存储还是静态存储
(statis(静态):定义或全局变量,其余都是auto自动变量动态分配--局部变量和形参)、
(auto赋值:运行到赋值语句才进行赋值,所以每次执行函数都会进行赋值操作,作用域从此处开始)、
(statis赋值:在编译时对变量进行赋值,仅此一次,之后变量都会保存运行结果,但局部变量作用域会仅限此函数内,作用域为所在整个函数)
2)作用域:局部变量和全局变量
局部变量:auto从函数定义语句处开始,statis为整个函数(不赋初值:statis为0或'\0',auto每次均不确定)
全局变量:从定义处开始(extern外部变量声明,从声明处起)
--extern:(可在一个文件或多个文件内 拓展 外部变量 的作用域)
--禁止本文件外其余文件引用:statis int A;==》定义全局变量后,其余文件使用extern也无法进行引用)
【C语言】数据存储分类(动态 静态存储) 作用域(全局变量 局部变量)详解--(已配图 更方便理解)