Muy buen dia.
Algo que aprende el dia de ayer fue a copiar un arreglo de caracteres con el operador igual sin ayuda de memcpy o strcpy y derivados.
Segun el libro no es algo que se recomiende muy a menudo pero que por lo general indican produce un codigo de ensamblador muy optimizado.
Dadas 2 Cadenas de Igual longitud es posible copiar el contenido de una en otra con el operador igual.
Normalmente la operacion siguientearca error de compilacion.
Pero con ayuda de una estructura de datos de igual longitud:
podemos por ejemplo.
Repito en el libro no lo recomiendan pero indican que si lo que buscas es optimizar un poco mas el codigo generado sería una opcion valida.
En el Libro muestran una funcion generica que hace una copia de bloques como el ejemplo mostrado para cualquier cantidad arbitraria de bytes.
En lo que llegue a la casa pongo el código mencionado.
Saludos.
Algo que aprende el dia de ayer fue a copiar un arreglo de caracteres con el operador igual sin ayuda de memcpy o strcpy y derivados.
Segun el libro no es algo que se recomiende muy a menudo pero que por lo general indican produce un codigo de ensamblador muy optimizado.
Dadas 2 Cadenas de Igual longitud es posible copiar el contenido de una en otra con el operador igual.
Código (c) [Seleccionar]
char cadena1[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char cadena2[27] = {0};
Normalmente la operacion siguientearca error de compilacion.
Código (c) [Seleccionar]
cadena2 = cadena1;
Pero con ayuda de una estructura de datos de igual longitud:
Código (c) [Seleccionar]
struct X{
char A[27];
};
podemos por ejemplo.
Código (c) [Seleccionar]
*(struct X*)cadena2=*(struct X*)cadena1;
Repito en el libro no lo recomiendan pero indican que si lo que buscas es optimizar un poco mas el codigo generado sería una opcion valida.
En el Libro muestran una funcion generica que hace una copia de bloques como el ejemplo mostrado para cualquier cantidad arbitraria de bytes.
En lo que llegue a la casa pongo el código mencionado.
Saludos.