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)

questionAnswers(2)

yourAnswerToTheQuestion