变量与空间
所有程序的运行,由操作系统统一调配,操作系统是程序的运行环境
运行中的多个程序之间,内存不交叉
程序结束,操作系统要释放其使用的资源
栈区(堆栈)定义
我们定义的变量,数组都是 在内存的栈区组成
栈区又分很多个区域,有:
栈区
堆区
全局区
字符常量区
代码区
栈区
内存由系统申请,在变量生命周期结束时由系统释放
堆区
内存由程序员申请,由程序员释放
如果自己申请空间,不由操作系统管理,就不会占用系统额外资源,就可以任意申请空间大小
对比
栈区:系统要执行多个任务,cpu要抽时间执行检测变量,综合下来运行效率会变低
堆区:由自己申请,自己释放
malloc
定义
用来申请空间
格式
类型*p=(类型*)malloc(字节数);
p=(类型*)malloc(字节数);
如
int*p=(int*)malloc(4);
int*p1