O que acontece quando chamamos Malloc com parâmetro negativo?
7.22.3.4 A função malloc A função malloc aloca espaço para um objeto cujo tamanho é especificado por tamanho e cujo valor é indeterminado.
Protótipo:void *malloc(size_t size);
Eu tentei passar um valor negativo como parâmetro:malloc(negative)
devolveNULL
.
É porque o [size_t] negativo convertido para unsigned [algum valor grande] e não pode colocar espaço necessário ou é o parâmetro de verificação de função e retornaNULL
?
Se for convertido em grande positivo, então, ao chamarmalloc(INT_MIN+2)
ainda retornaNULL
, masmalloc(0)
atribuído a ponteiro e*p = somevalue
trabalho. O que sobre isso?
A implementação é definida?
Leia este link:malloc (0)