概述
我们在编写c语言的时候往往只是定义一个变量但是并不知道这个变量存储在哪里,什么时候失去作用,那是因为我们没有理解c语言的数据存储格式和存储区域,如果你不知道请看这篇文章
1.先来了解全局变量和局部变量
全局变量:在一个程序中定义在函数外部的变量,生命周期是从定义开始处到程序结束
局部变量:在函数体内定义或者在复合语句内部定义的变量,前者生命周期是整个定义处到函数结束,后者只在复合语句块内部
2.在c语言中一个变量有三种属性:数据类型,作用域,存储类型,前两者不再赘述,接下来说存储类型,存储类型决定了定义的变量在程序中的生命周期
一般c语言程序在内存中分成几个区来存储代码和数据
1.代码区:经过编译后的可以直接执行的机器代码
2.只读数据区:存储程序中不会被修改的数据,例如各种常量和符号常量等
3.静态存储区:全局变量和静态变量都存储在这里,初始化的变量存储在初始化数据区,没有的存储在未初始化数据区,未初始化的全局变量和静态变量系统赋值0或者"