C语言内存分配

在栈上分配

1.存放函数参数值,局部变量值等

2.在执行函数调用时,系统在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存。

数据存储向低地址端拓展,向下生长,越来越靠近栈顶。

生存期由函数决定

从堆上分配

在程序运行期间,用动态内存分配函数来申请的内存都是从堆上分配的,释放是由动态内存分配函数释放的。动态内存的生存期由程序员自己来决定。

数据向高地址端拓展,向上增长。

生存期由程序员决定

原文地址:https://www.cnblogs.com/cellphone7/p/7674412.html