概念:
1.静态内存:程序编译开始阶段,由编译器分配给该程序的内存,
2.动态内存:编程者不知道该申请多大,手动申请的内存。
区别:
1.分配时间:静态内存在编译开始阶段分配,动态内存在程序运行时分配,因而静态内存不占用CPU资源,而动态内存占用。
2.分配位置:静态内存分配在栈区,动态内存分配在堆区。
3.分配方式:静态内存由编译器自动分配,动态内存由编程者手动分配。
4.分配大小:静态内存大小明确,分配时就确定了。动态内存无法确定大小,需要指针来指示位置。
相关知识:
1.程序历经阶段:编辑、编译、连接、运行。
2.程序在内存中的存储区:堆区、栈区、静态区、代码区、常量区。