关于全局变量和静态变量的小认识
本文章记录本人在嵌入式c语言学习过程中的一些关于变量的小知识
全局变量
===================================================
什么是全局变量?
全局变量分为两种:
1. 动态全局变量
定义: 在函数体前定义且定义前加 extren
作用: 使该变量在整个项目中可见,生命期为程序运行到程序的退出
2. 静态全局变量
定义: 在函数体前定义且定义前加 static 或者不加关于作用域关键词的东西
作用: 使改变量仅在本文件中可见,生命期为程序运行到程序的退出
=======================================================================
静态变量
3. 静态局部变量
定义: 在函数体里定义且在定义前加 static
作用: 是使该变量在{}范围内能见,生命期为程序运行到程序的退出
4. 局部变量(也叫动态局部变量)
定义: 在函数体里面定义且定义前不需要加关于作用域关键词的东西
作用: 使该变量在{}范围内能见,生命期由系统决定(函数退出被os回收)
==================================================================================
PS : 所有生命期为程序运行到程序退出的变量都会在程序加载时os为其赋值为零..但在编译成二进制(或多个二进制组织成的链接文件)中并不会赋值,因为在链接文件里这些变量只是一个标记!
奋斗吧....少年..