Realloc(): invalid pointer - C (СИ)

Узнай цену своей работы

Формулировка задачи:

void str_cat(char** str,const char* s){
    int LenStr = 0;
    if(*str != NULL){
        LenStr = dlinna(*str);
    }
    
    int LenS = 0;
    if(s != NULL){
        LenS = dlinna(s);
    }
    
    *str = (char*) realloc(*str, LenStr + LenS);
}
Выкидывает ошибку. По всякому пробовал, но не получилось. Подскажите пожалуйста как правильно?

Решение задачи: «Realloc(): invalid pointer»

textual
Листинг программы
void str_cpy(char** str,const char* s){
    *str = s;
}

Объяснение кода листинга программы

В данном коде представлена функция str_cpy, которая принимает два аргумента: указатель на строку и константный указатель на строку. Функция копирует строку, на которую указывает константный указатель, в строку, на которую указывает исходный указатель. Список действий в коде:

  1. str = s; В данном выражении происходит присваивание указателя s указателю str. В результате, указатель str начинает указывать на ту же строку, что и указатель s. Код может вызывать ошибку Realloc(): invalid pointer, если указатель s является недействительным (например, если он равен NULL или указывает на неинициализированную область памяти).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5
Похожие ответы