C语言储存管理知识小结
一般的变量,没有“malloc”,“free”,“static”关键字的,由栈管理。遵循后进先出的法则,自动在变量生命周期结束后释放内存。属于系统托管,死板但安全,无内存泄漏风险。静态变量,带有“static”关键字。变量的生命周期被严格限制,存在于程序的整个生命周期。动态存储,使用malloc和free关键字,由堆(或者称之为自由存储空间)存储。需要有访问地址才能精确访问。虽然给了极大的权限,使用不当易产生内存泄漏问题。关键是要成双成对,不受函数和main函数限制。无论在哪,成双成对。注意动态存储的变量也是可以传递的,因而尤其要注意是否成双成对。