Como copiar matrizes com Memmove na programação C

Como copiar matrizes com Memmove na programação C
As matrizes são um elemento básico na linguagem de programação C, que permite que um programador armazene vários itens do mesmo tipo de dados em uma única variável. Há momentos em que um programador pode precisar replicar o conteúdo de uma matriz para outro.

Qual é a função MemMove ()

A função da biblioteca C Memmove () é usado para copiar um certo número de bytes de um endereço de memória para outro. Devido ao fato de não ser afetado por áreas de dados sobrepostas, é uma técnica eficaz e produtiva de copiar dados. Ao usar Memmove () Para copiar uma matriz, há algumas coisas a ter em mente. A função deve primeiro receber dois ponteiros, um representando o local da memória de origem e o outro o local da memória de destino. A quantidade de bytes que você deseja copiar da fonte para o destino também deve ser especificada.

O Memmove () O método é uma função flexível que pode lidar com fontes sobrepostas e copiar dados em qualquer ordem de qualquer lugar da memória. A única desvantagem é que leva um pouco mais tempo do que outros métodos de cópia como memcpy ().

Como copiar matrizes com memmove () na programação C

O Memmove () A função é definida no biblioteca e tem a sintaxe:

void *memmove (void *dest, const void *src, size_t n);

O ponteiro vazio* dest Especifica a matriz de destino, para a qual o conteúdo da matriz de origem será copiado. O ponteiro para a matriz de origem que queremos copiar é const Void* src. O número de bytes que queremos copiar da matriz de origem para a matriz de destino é especificado pelo argumento size_t n.

Dê uma olhada na seguinte linha de código, por exemplo:

#incluir
#incluir
int main ()
int fontes_array [] = 1, 2, 3, 4, 5;
int destino_array [5] = 0;
size_t size = sizeof (fonte_array);
Memmove (destino_array, fonte_array, tamanho);
para (int i = 0; i < 5; i++)
printf ("%d", destino_array [i]);

retornar 0;

A matriz de origem e as matrizes de matrizes de destino são definidas pela primeira vez no código acima. A matriz de destino está inicialmente vazia, mas a matriz de origem tem elementos 1 a 5. O tamanho de() O operador é então usado para determinar o tamanho da matriz de origem e o resultado é salvo na variável de tamanho. O conteúdo da matriz de origem é copiado para a matriz de destino.

Saída

Conclusão

A linguagem de programação C oferece uma maneira eficaz e confiável de copiar matrizes com o Memmove () função. Sua versatilidade vem de sua capacidade de lidar com a memória sobreposta e, devido à sua sintaxe direta, qualquer projeto C pode usá -lo.