Что делать, если malloc не работает?

Если выделение mallocне удалось, должны ли мы повторить попытку?

Примерно так:

char* mystrdup(const char *s)  
{
    char *ab = NULL;

    while(ab == NULL) {
        ab=(char*)malloc(strlen(s)+1);  
    }

    strcpy(ab, s);
    return ab;
}

Подходит ли цикл while для проверки выделения памяти?

21
задан netcoder 3 August 2012 в 03:57
поделиться