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, которая принимает два аргумента: указатель на строку и константный указатель на строку. Функция копирует строку, на которую указывает константный указатель, в строку, на которую указывает исходный указатель. Список действий в коде:
- str = s;
В данном выражении происходит присваивание указателя s указателю str. В результате, указатель str начинает указывать на ту же строку, что и указатель s.
Код может вызывать ошибку
Realloc(): invalid pointer, если указатель s является недействительным (например, если он равен NULL или указывает на неинициализированную область памяти).