¿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
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.