Должен ли я проверить, был ли malloc () успешным?
Нужно ли после каждого malloc () проверять, был ли он успешным? Возможно ли, что malloc () потерпит неудачу? Что происходит потом?
В школе нам сказали, что мы должны проверить, т.е.
arr = (int) malloc(sizeof(int)*x*y);
if(arr==NULL){
printf("Error. Allocation was unsuccessful. \n");
return 1;
}
Какова практика в этом отношении? Могу ли я сделать это так:
if(!(arr = (int) malloc(sizeof(int)*x*y))
<error>