C语言内存分配
在栈上分配:
1.存放函数参数值,局部变量值等
2.在执行函数调用时,系统在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存。
数据存储向低地址端拓展,向下生长,越来越靠近栈顶。
生存期由函数决定
从堆上分配:
在程序运行期间,用动态内存分配函数来申请的内存都是从堆上分配的,释放是由动态内存分配函数释放的。动态内存的生存期由程序员自己来决定。
数据向高地址端拓展,向上增长。
生存期由程序员决定
在栈上分配:
1.存放函数参数值,局部变量值等
2.在执行函数调用时,系统在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存。
数据存储向低地址端拓展,向下生长,越来越靠近栈顶。
生存期由函数决定
从堆上分配:
在程序运行期间,用动态内存分配函数来申请的内存都是从堆上分配的,释放是由动态内存分配函数释放的。动态内存的生存期由程序员自己来决定。
数据向高地址端拓展,向上增长。
生存期由程序员决定