Lenguaje de programación C

C – Intercambiar elementos de arreglo de cadenas

En este post de programación en C, también conocido como ANSI C vamos a ver cómo intercambiar los elementos de un arreglo de cadenas o strings, es decir, modificar los elementos de un arreglo de strings a través de su índice.

En otras palabras, hacer un intercambio como:

See the gist on github.

Aunque suena fácil, recordemos que en C no podemos hacer eso con los arreglos de cadenas, y debemos usar otras funciones que trabajan con apuntadores.

Mover elementos en arreglo de cadenas en C

Primero te invito a que veas una introducción a los arreglos de cadenas en C, pues recordemos que el tipo de dato string no existe, y debemos usar un arreglo de caracteres. Así que técnicamente un arreglo de cadenas en C es un arreglo de arreglos.

Por lo tanto no podemos mover libremente los elementos, pero sí podemos usar las funciones para copiar elementos de la memoria usando la función memcpy.

La función memcpy

Esta función debe servir para varias cosas, pero para nuestro ejemplo solo necesitamos saber que la sintaxis es:

memcpy(destino, fuente, tamaño);

En donde destino es el lugar de memoria a donde se copia la cadena, fuente es la cadena de origen y tamaño es el tamaño de cadena.

Intercambiar elementos en array de strings en C

Por lo tanto podemos hacer lo siguiente para un intercambio. Es como hacerlo con índices pero ahora usando memcpy.

Recuerda que en este caso necesitamos indicar la longitud máxima de la cadena en tiempo de compilación, y usamos también esta medida para indicar el tamaño de la cadena que se copia.

See the gist on github.

Ejemplo completo

Ahora veamos un ejemplo ejecutable y completo. En este caso tenemos un arreglo de cadenas en ANSI C, vamos a intercambiarlas. Para ello primero imprimimos el arreglo original, lo modificamos y luego lo volvemos a imprimir.

See the gist on github.

El intercambio ocurre en la línea 24 hasta la línea 27, que es en donde se hace el movimiento de elementos entre el arreglo de tipo string.

Puedes ejecutarlo en este enlace. También puedes leer más sobre C en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

4 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

4 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

4 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

5 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.