Я хочу скопировать 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]
не будет работать из-за «Выражение должно иметь указатель на тип объекта».
Как это сделать правильно?