Cómo usar memcpy en arreglos 3d en C

Tengo una matriz tridimensional int32_t x[1024][4][256] . Necesito copiar todos los elementos de la matriz a otra matriz del mismo tipo y tamaño int32_t y[1024][4][256] .

¿Puedo usar memcpy(y, x, sizeof(x)); ?

después de eso puedo acceder a los elementos de la matriz y igual que el de x ?

¿Puedo usar memcpy(y, x, sizeof(x)) ?

Sí.

después de eso puedo acceder a los elementos de la matriz y igual que el de x ?

Sí.

Tenga en cuenta que este enfoque se descompone si asigna la matriz dinámicamente (por ejemplo, utilizando malloc() ). Si lo hace, sizeof() ya no le dará el tamaño de la matriz (le dará el tamaño del puntero), y tendrá que realizar un seguimiento de las dimensiones de la matriz.