相比静态地分配内存空间,使用动态内存分配具有明显的优势:
1, 分配空间的大小够精确: 设想一个读取用户输入行的程序, 如果使用静态分配的数组作为buffer, 那么, 你如何确定该数组的长度呢? 太大或太小都不合适. 因为你无法事先知道用户输入字符串的长度. 而使用动态内存分配就精准多了.
2, 静态分配的空间大小无法更改, 而动态分配的内存大小是可调的.
所以, 理解C语言中的动态内存分配对于编写实用, 有效, 安全的程序来说必不可少. 本文假设你使用C语言编程, 且使用GNU/Linux系统. (其实由于现在的许多系统都是POSIX兼容的, 本文的内容使用于任何操作系统, 只是其中提到的某些工具仅存于GNU/Linux上.)
要理解内存管理, 首先要理解程序在内存中的布局, 既: 内存程序映像.阅读全文>
发表于 @ 2008年02月29日 17:26:00|评论(loading...)|编辑