portoalet,
http://www.cplusplus.com/reference/clibrary/cstring/memcpy/ говорит:
void * memcpy ( void * destination, const void * source, size_t num );
destination : Pointer to the destination array where the content is to be copied, type-casted to a pointer of type void*.
source : Pointer to the source of data to be copied, type-casted to a pointer of type void*.
num : Number of bytes to copy.
Лично я нахожу синтаксис "адрес элемента" (ниже) гораздо более понятным, чем эквивалентный синтаксис "база массива плюс индекс" ... особенно когда вы попадаете в Коррекции-в-массивы-из-Структуры.
memcpy( &raster[arrayPosition], abyRaster, sizeof(abyRaster));
И кстати: я согласен с другими предыдущими постерами ... все, что больше "одной строки" (скажем, 4096 байт), должно быть выделено в куче ... в противном случае вы ОЧЕНЬ быстро исчерпаете пространство стека. Просто НЕ ЗАБЫВАЙТЕ освободить ВСЕ, что у тебя есть malloc ... куча не самоочищается, как стек, а ANSI C не имеет сборщика мусора (чтобы следить за тобой и убирать за тобой).
Приветствия. Кит.