大家都知道变量分为全局变量、局部变量和static修饰的变量这三类,其中全局变量是定义在函数外部的,只有程序销毁时才会失效。局部变量是指定义在函数内部的变量,同时形参也属于局部变量。static属于静态关键字,可以修饰全局变量,也可以修饰局部变量和函数,但是局部变量中的形参不能用static修饰。
根据存放数据的不同可以将内存主要分为代码段、全局(静态)变量区、栈区和堆区。
代码段主要用来存放程序代码。
全局(静态)变量区主要存放全局变量和静态变量。
栈区主要用来存放局部变量,使用时系统主动开辟,用完之后系统主动释放,但栈区内存很小,一般Windows默认栈区内存大小为1M。
堆区属于动态内存区域,一般内存区域大,但是在使用时需要被动开辟和被动释放,如果没有释放,会出现内存泄漏,程序会出现不安全隐患。