What's the difference between calloc and malloc? Is it safe to take advantage of calloc's zero-filling? Does free work on memory allocated with calloc, or do you need a cfree?
calloc(m, n) is essentially equivalent to
p = malloc(m * n); memset(p, 0, m * n);The zero fill is all-bits-zero, and does not therefore guarantee useful null pointer values (see section 5 of this list) or floating-point zero values. free is properly used to free the memory allocated by calloc.
References:
ANSI Sec. 4.10.3 to 4.10.3.2
ISO Sec. 7.10.3 to 7.10.3.2
H&S Sec. 16.1 p. 386, Sec. 16.2 p. 386
PCS Sec. 11 pp. 141,142
Read sequentially: prev next up top
This page by Steve Summit // Copyright 1995 // mail feedback