一、声明与定义
定义:创建一个变量,为其分配内存空间,并为它取名字(变量名),一个变量只能定义一次;
声明:告知编译器,这个名字(变量名)已经匹配在一块内存上了,但是并未为其分配内存;
二、变量初始化
一般变量初始化的方法:
默认初始化规则:
全局变量、静态变量
局部变量
人工初始化:
数值变量
字符变量
指针变量
数组
三、变量的存储类型
存储空间的划分
程序区:用于存放程序编译后形成的可执行代码(执行时装入)
静态存储区:用于存放程序中的静态数据,如全局变量等
动态存储区:用于存放程序中的动态数据,如函数形参、局部变量、函数调用时的现场保护和返回地址等
静态数据说明时在静态存储区中分配存储单元并在程序执行过程中始终占用该单元,直到程序结束才释放;全局变量、局部静态变量
动态数据在函数开始执行时分配动态存储空间,函数结束时释放这些空间。形参变量、局部动态变量(auto register)、函数调用现场保护和返回地址等
C的存储类别有四种:auto、static、register和extern。
四、进程空间的划分
每个进程运行所需的空间称为进程的虚拟地址空间。32位操作系统中该空间大小为4G(2 32次方)。分配方法一在硬盘上开辟虚拟内存空间,二采用软件实现(写时复制),在内存中给每个进程映射。