Calloc С++

Calloc С++
Почему при выделении памяти её всё время достаточно, даже если пишу очень длинную строку, если пишу число меньше 1, то памяти недостаточно, почему?

#include
#include
#include
#include
#include
#include
int main(void)
{
clrscr();
char *str=NULL;
/*Take a memory for string*/
str=(char*)calloc(10,sizeof(char));
if(str)
{
/*copy to string "Hello"*/
strcpy(str,"Hello");
/*Out string*/
printf("String: %sn",str);
/*free memory*/
free(str);
}
else
{
printf("Not enough memoryn");
}
getch();
return 0;
}

  • -1 неявно преобразуется в size_t и получается очень большое число 4294967295