Скопируйте 2D массив в новый буфер с помощью memcpy - PullRequest
0 голосов
/ 05 марта 2020

Я хочу скопировать 2D-массив в новый 2D-массив во внутреннем буфере.

Предположим, у меня есть следующая функция:

uint8 the_2D_array[100][7];

void Get_2D_Array(uint8 **array)
{
   *array = &the_2D_array[0][0];   // Function which returns pointer to the first element of the 2D array
}

Позже в моем коде я ожидая сделать что-то вроде этого:

myBuffered_Aray[100][7];
uint8 *pValues;

Get_2D_Array(&pValues)
{
  for (uint8 i = 0; i < 100; i++)
  { 
     for (uint8 j = 0; j < 7; j++)
     {
        (void)memcpy(myBuffered_Aray[i][j], (u8_t*)&pValues[i][j], sizeof(uint8));
     }   
  }

}

Деталь с

(u8_t*)&pValues[i][j]

не будет работать из-за «Выражение должно иметь указатель на тип объекта».

Как это сделать правильно?

...