内存分配方式
一、从静态存储区域分配内存
内存在程序编译时已经分配完成,这块内存在程序的整个运行期间都被占用。程序运行结束则自动释放内存。
例如全局变量、静态变量(使用static声明变量)
二、从栈空间分配内存
函数内的局部变量申请的内存空间,随着函数的调用开始申请空间,函数调用结束,空间自动释放。
三、从堆空间分配内存,动态内存分配。
在程序中使用malloc函数申请任意字节的内存。
需要程序员人为使用free函数来释放malloc申请的内存。
所以堆内存的生存期由程序员决定。
static静态变量
#include <stdio.h>
void fun1(){
int n = 1;//栈内存,局部变量使用
n++;
printf("%d\n",n);
}