Was passiert, wenn wir Malloc mit negativen Parametern aufrufen?

7.22.3.4 Die Malloc-Funktion Mit der Malloc-Funktion wird Platz für ein Objekt reserviert, dessen Größe durch size festgelegt und dessen Wert unbestimmt ist.

Prototyp:void *malloc(size_t size);

Ich habe versucht, einen negativen Wert als Parameter zu übergeben:malloc(negative) kehrt zurückNULL.

Liegt es daran, dass das [size_t] -Negativ in vorzeichenloses [irgendeinen großen Wert] konvertiert wurde und nicht den erforderlichen Speicherplatz belegen kann, oder dass es der Funktionsprüfungsparameter ist und zurückgibtNULL?

Wenn es zu einem großen positiven Ergebnis wird, dann beim Anrufenmalloc(INT_MIN+2) es kehrt immer noch zurückNULL, abermalloc(0) Zugewiesen auf Zeiger und*p = somevalue funktioniert. Was ist damit?

Ist die Implementierung definiert?

Lesen Sie diesen Link:Malloc (0)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage