free()之后不就将内存回收了吗?请指教。
引用网络的帖子:
“The word static refers to things that happen at compile time and link time when the program is constructed—as opposed to load time or run time when the program is actually started.” “The term dynamic refers to things that take place when a program is loaded and executed. ”
内存的静态分配和动态分配的区别主要是两个: 一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。 二是空间不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由函数malloc进行分配。不过栈的动态分配和堆不同,他的动态分配是由编译器进行释放,无需我们手工实现。
[ 本帖最后由 liuming759 于 2013-10-24 14:30 编辑 ] |