Cómo copiar matrices con memmove() en programación C

Como Copiar Matrices Con Memmove En Programacion C



Las matrices son un elemento básico en el lenguaje de programación C, que permite a un programador almacenar numerosos elementos del mismo tipo de datos en una sola variable. Hay ocasiones en las que un programador puede necesitar replicar el contenido de una matriz en otra.

¿Qué es la función memmove()?

La función de biblioteca C movimiento de memoria () se utiliza para copiar un cierto número de bytes de una dirección de memoria a otra. Debido al hecho de que no se ve afectado por áreas de datos superpuestas, es una técnica efectiva y productiva de copia de datos. Cuando usas movimiento de memoria () para copiar una matriz, hay algunas cosas a tener en cuenta. La función primero debe recibir dos punteros, uno que representa la ubicación de la memoria de origen y el otro la ubicación de la memoria de destino. También se debe especificar la cantidad de bytes que desea copiar desde el origen al destino.

El movimiento de memoria () El método es una función flexible que puede manejar fuentes superpuestas y copiar datos en cualquier orden desde cualquier lugar de la memoria. El único inconveniente es que lleva un poco más de tiempo que otros métodos de copia como memcpy().







Cómo copiar matrices con memmove() en programación C

El movimiento de memoria () La función se define en el biblioteca y tiene la sintaxis:



vacío * recuerda ( vacío * comenzar , constante vacío * origen , talla_t norte ) ;

el puntero vacío* destino especifica la matriz de destino, a la que se copiará el contenido de la matriz de origen. El puntero a la matriz de origen que queremos copiar es const vacío * src . El número de bytes que queremos copiar de la matriz de origen a la matriz de destino se especifica mediante el argumento tamaño_t norte .



Eche un vistazo a la siguiente línea de código, por ejemplo:





#incluir

#incluir

  En t principal ( ) {

  En t matriz_origen [ ] = { 1 , 2 , 3 , 4 , 5 } ;

En t matriz_destino [ 5 ] = { 0 } ;

talla_t tamaño = tamaño de ( matriz_origen ) ;

recuerda ( matriz_destino , matriz_origen , tamaño ) ;

  para ( En t i = 0 ; i < 5 ; i ++ ) {

imprimir ( '%d ' , matriz_destino [ i ] ) ;

}

devolver 0 ;

}

La matriz de origen y la matriz de destino se definen primero en el código anterior. La matriz de destino está inicialmente vacía, pero la matriz de origen tiene elementos del 1 al 5. El tamaño de() Luego se usa el operador para determinar el tamaño de la matriz de origen y el resultado se guarda en la variable de tamaño. El contenido de la matriz de origen se copia en la matriz de destino.

Producción



Conclusión

El lenguaje de programación C ofrece una forma efectiva y confiable de copiar arreglos con el movimiento de memoria () función. Su versatilidad proviene de su capacidad para manejar memoria superpuesta y, debido a su sintaxis sencilla, cualquier proyecto de C puede usarla.