@rinaz22

Как обновить размер массива после добавления нового элемента на arduino?

Всем привет! Задача следующая:
Есть массив data1[] = {1, 2, 3};
Потом получаем массив data2[] = {4, 5}
Нужно переместить значения data2 в конец data1. Т.е. должно получится {1, 2, 3, 4, 5}
Пробовал использовать цикл for для этого:
int j = 0;
for (int i=sizeof(data1); i < sizeof(data2)+sizeof(data1); i++) {
  data1[i] = data2[j];
  j++;
}

Возможно код выглядит ужасно, но к сожалению готовых функций не нашел.
Код работает, но вот если использовать sizeof(data1) после цикла, то он вернет начальный размер data1, который был до добавления новых элементов. В связи с этим у меня 2 вопроса:
Как поменять размер массива после добавления новых элементов, чтобы sizeof вернул новый размер?
ИЛИ
Как правильно объединить/дополнить массив, чтобы sizeof работал корректно?

В C++ я новичок, прошу сильно не пинать)
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
int data3[5];
for (uint8_t n = 0; n < 3; ++n)
   data3[n] = data1[n];
for (uint8_t n = 0; n < 2; ++n)
    data3[n+3] = data2[n];
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы