摘要: 主要初步介绍malloc、free、calloc、realloc的基本。日后会有更详细的内容。malloc、free分别用于动态内存分配和释放。malloc会从内存池里提取一块合适的内存(连续的),并返回指向这块内存(起始位置的指针,该指针的类型为void*指针(因为malloc不知道你请求的内存需要存储的数据类型),而且这块内存并没有初始化。如果操作系统无法提供给malloc足够的内存,malloc就会返回一个NULL指针。因此必须对每个从malloc返回的指针进行检查。1#include2#include34intmain()5{6int*pi;7inti;8pi=malloc(25*si 阅读全文
posted @ 2013-08-29 23:01 alan_forever 阅读(4429) 评论(0) 推荐(0) 编辑
摘要: 偶尔我们需要设计一些函数,它们的参数数目不是固定的,这样我们需要用到可变参数列表。可变参数列表是通过宏来实现的,定义于stdarg.h头文件。具体内容在《C与指针》1#include2#include34floataverage(intn_values,...)5{6va_listvar_arg;//用于访问参数列表的未确定部分,通过va_start来初始化7intcount;8floatsum=0;910/*11准备访问可变参数12*/13va_start(var_arg,n_values);//第一个参数为va_list变量的名字,第二个参数为省略号前最后一个有名字的参数。初始化过程把va 阅读全文
posted @ 2013-08-29 20:25 alan_forever 阅读(381) 评论(0) 推荐(0) 编辑