定义
将内存地址分配给程序(指令和数据)。cpu如果要执行程序,则必须首先将其放置在计算机的内存中,cpu可以从那里读取和执行它。
内存分配分为静态内存分配,动态内存分配
静态内存分配
程序编译时,由编译器自动分配和释放空间,空间开辟的大小是固定的。
程序中的各种变量,在程序编译时都需要分配空间,当函数调用完,空间自动释放。此时用户不需要关心空间的申请与释放问题。通常都储存在栈中。
动态内存分配
内存在运行时分配,即当程序员执行程序时 - 此技术从堆存储中分配内存。
动态分配的内存可以在程序执行期间随时释放。甚至分配的内存也可以调整大小
由于内存是在运行时分配的,因此与静态内存分配相比,这使得执行速度稍慢。