Код ниже возвращает адрес при выполнении в Windows, хотя я ожидал, что он вернет NULL.
int main()
{
char *ptr = NULL;
ptr = malloc(0);
printf("malloc returned = %u\n", ptr);
}
Что могло бы спровоцировать такую реализацию malloc? Есть ли причина в этом?
Так как это 0-байтовая память, я не экспериментировал с записью каких-либо данных. Но можно ли использовать эту память для чего угодно?