代码段:存放程序的代码; 全局(静态)变量区:存放全局变量和静态变 量
栈:存放局部变量,系统自行管理该内存,内存区域小,Windows默认1M.
堆:动态内存区域,内存区域大,需要由程序自行管理内存,使用后一定要释放,否则出现内存泄漏.
局部变量:定义在函数内部的变量,又分为普通局部变量和静态局部变量
全局变量:定义在函数外部的变量 //很危险
static:改变变量或者函数的生命周期,内存区域,默认值,链接属性
extern 说明这个变量在其他文件里存在 能找到
const修饰的全局变量,默认链式属性是内部的(自动+static)
int a;//全局变量 外部 0 程序运行创建,程序退出消亡
static int b;//全局变量(静态) 内部 程序运行创建,程序退出消亡
const int c = 10;//全部变量(静态) 内部 程序运行创建,程序退出消亡
int main()
{
int d;//局部变量 随机值 函数创建时产生,函数结束时死亡 函数内部可见
static int e;//局部变量(静态) 函数创建时产生,程序退出时死亡
const int f = 20;//局部变量 函数创建时产生,函数结束时死亡 函数内部可见
for(int i=0; i<10; i++)//局部变量 块开始产生,块结束死亡 块内可见
{
printf("%d\n", i);
}
return 0;
}