что происходит, когда мы вызываем Malloc с отрицательным параметром?

7.22.3.4 Функция malloc Функция malloc выделяет пространство для объекта, размер которого определяется размером, а значение которого является неопределенным.

Прототип:void *malloc(size_t size);

Я попытался передать отрицательное значение в качестве параметра:malloc(negative) возвращается.NULL

Это потому, что [size_t] отрицательно преобразован в unsigned [какое-то большое значение] и не может выделить необходимое пространство, или это функция, проверяющая параметр и возвращающая?NULL

Если он превращается в большой позитив, то при звонкеmalloc(INT_MIN+2) это все еще возвращаетсяNULL, ноmalloc(0) выделено для указателя и*p = somevalue работает. Как насчет этого?

Определена ли реализация?

Прочитайте эту ссылку:таНос (0)

Ответы на вопрос(2)

Ваш ответ на вопрос