Codificación aprenderaprogramar.com: CU00514F
CADENAS DE TEXTO COMO ARRAYS DE CARACTERES EN C
Si bien en otros lenguajes las cadenas de texto son consideradas un tipo de datos específico, en C las cadenas de texto son consideradas arrays de caracteres. Por ejemplo la cadena “Hola” en C se considera un array formado por los elementos 'H', 'o', 'l', 'a'.
Podríamos mostrar cadenas de texto por pantalla mostrando los diferentes elementos del array.
Veamos un ejemplo. Escribe y ejecuta estos programas:
#include <stdio.h> |
#include <stdio.h> |
Fíjate en la diferencia entre ambos. En el primer caso estamos usando un array del tipo predefinido del lenguaje C char, y ese array tiene exactamente cuatro elementos (0, 1, 2 y 3 cuyo contenido es h, o, l, a). En el segundo caso hemos definido un tipo denominado TipoCadena que consta de 50 elementos (0, 1, 2, 3, … , 49) y hemos definido dos variables del tipo TipoCadena. Para una de esas variables hemos definido los tres primeros elementos, mientras que los 47 elementos restantes permanecen sin inicializar. Para la otra variable hemos definido los cuatro primeros elementos, mientras que los 46 elementos restantes permanecen sin inicializar. Explicaremos más adelante el significado de los símbolos %c y \n, no te preocupes ahora por ellos.
Esta forma de trabajar con cadenas “carácter a carácter” puede parecer en principio un poco tediosa o poco práctica, de hecho hay una forma simplificada para inicializar una cadena: char cadena1[]="hola"; equivale al código anterior. C dispone de algunos extras que facilitan el trabajo con cadenas y nos permiten no tener que ir “carácter a carácter”, aunque siempre debemos tener presente que en el fondo una cadena de texto es tratada por C como un array de caracteres.
EJERCICIO
Crea el código de un programa que cumpla las siguientes premisas. Declara un array de caracteres denominado arrayDeCincoChar. Establece para cada uno de los índices del array que el contenido sean los caracteres a, b, e, t, o. A continuación haz que se muestre por pantalla (ventana de consola) el texto: “La palabra en el array es abeto”, donde abeto estará definido letra a letra utilizando los elementos del array.
Responde a estas preguntas:
a) ¿Qué índice o localizador tiene el primer elemento del array? ¿Y el último?
b) ¿Qué ocurre si intentamos mostrar por pantalla una letra con un índice que no está definido para ese array de caracteres?
c) Modifica la tercera letra de la cadena para que pase a ser la letra a. A continuación muestra el mismo contenido que anteriormente. En esta ocasión, dado que hemos modificado la tercera letra, deberá mostrarse por pantalla: “La palabra en el array es abata”.
Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.