How to memcpy a part of a two dimensional array in C?

user2131316 picture user2131316 · Jun 3, 2013 · Viewed 25.8k times · Source

How to memcpy the two dimensional array in C:

I have a two dimensional array:

int a[100][100];

int c[10][10];

I want to use memcpy to copy the all the values in array c to array a, how to do this using memcpy?

int i;
for(i = 0; i<10; i++)
{
    memcpy(&a[i][10], c, sizeof(c));
}

is this correct?

Answer

Fabien picture Fabien · Jun 3, 2013

That should work :

int i;
for(i = 0; i<10; i++)
{
    memcpy(&a[i], &c[i], sizeof(c[0]));
}