函数变量存储类别

1.变量存储类别

1.静态变量(static):
(1)在编译时分配存储空间,所占存储单元直到程序结束时才释放,他的值在程序运行过程中一直存在,而且变量的初始化只进行一次,这说明:在第二次进行调用时,静态局部变量的定义相当于不存在,该变量在上次调用结束后是多少,现在就是多少。
(2)对于静态局部变量,如果在定义时不赋初值的话,编译时自动赋初值0(对数值型变量)
(3)会一直占用内存单元

2.自动变量(auto):
(1)当程序执行到定义他的函数或语句块时才分配,当函数执行结束后自动释放,变量的值也就不再存在。
(2)局部变量的存储类别默认是auto,可以省略不写,但他不能定义全局变量
(3)对于自动变量,如果在定义时不赋初值的话,赋初值则他的值是个不正确的值
(4)不会一直占用内存单元

3.寄存器变量(register):
(1)register是建议编译程序将变量的值保存在cpu的寄存器中,而不是占用内存单元
(2)根本不占用内存单元

4.外部变量(extern):
(1)对全局变量加以说明,扩展其作用域,在整个程序中都有效。表示变量或函数定义在别的文件中。
(2)会一直占用内存单元

猜你喜欢

转载自blog.csdn.net/weixin_45454859/article/details/103847869