Resize Изменение размера массива строк

incdpr
Offline
Зарегистрирован: 28.11.2020

Всем привет.

Я разбиваю приходящую строку. В этой строке "зашифровано" 2,3,5,25 в общем цифра. По этой цифре мне надо создать массив строк.

const char *names[]  = {
  ""
};
void loop()
{
names = (char*)calloc(5,sizeof(char));
names = (char[]*)calloc(5,sizeof(char*));

names = (char*[])calloc(5,sizeof(char));
}

 

incdpr
Offline
Зарегистрирован: 28.11.2020

Отправился вопрос и поправить не могу.

Как правильно поменять размер массива строк в loop()?

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

1 хапнуть памяти на массив побольше (new)

2. перенести указатели из старого в новый массив, в неиспользуемые забить nullptr

3. delete старый массив

или использовать realloc()