huangblue / learn

各学科知识
11 stars 3 forks source link

calloc 的零填充功能 #504

Open huangblue opened 7 years ago

huangblue commented 7 years ago

7.26 calloc() 和malloc() 有什么区别?利用calloc 的零填充功能安全吗?free() 可以释放calloc() 分配的内存吗, 还是需要一个cfree()? calloc(m, n) 本质上等价于 p = malloc(m n); memset(p, 0, m n); 填充的零是全零, 因此不能确保生成有用的空指针值或浮点零值(参见第5章)。free() 可以安全地用来释放calloc() 分配的内存。