变量可以分为全局变量、静态全局变量、局部变量和静态局部变量
变量的声明有两种情况:
1)一种是需要建立存储空间的(定义性声明)。例如int a 在生命的时候就已经建立了存储空间。
2)另一种是不需要建立存储空间的(引用性声明)。例如extern int a 其中变量a是在别的文件中定义的。
内存区域的划分:
1)栈区:由编译器自动分配和释放的内存区域,用于存放函数的参数值、局部变量等。
2)堆区:程序员向系统申请或释放。
3)全局区:用来保存全局变量和静态变量。
4)文字常量区:用来保存常量字符串的内存区域。
5)程序代码区:用来保存函数体的二进制代码。