7.22.3.4 The malloc function The malloc function allocates space for an object whose size is specified by size and whose value is
indeterminate.
Prototype: void *malloc(size_t size);
I tried passing a negative value as a parameter: malloc(negative)
returns NULL
.
Is it because the [size_t] negative converted to unsigned [some big value] and cannot allot required space or is the function checking parameter and returns NULL
?
If its getting converted to big positive, then when calling malloc(INT_MIN+2)
it still returns NULL
, but malloc(0)
alloted to pointer and *p = somevalue
works. What about this?
Is it implementation defined?
Read this link:malloc(0)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…