Resumen: Entrega nº14 del tutorial "Curso básico de programación en lenguaje C desde cero".
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'.

 

logo lenguaje programacion C

 

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 <stdlib.h>
//Ejemplo aprenderaprogramar.com
int main() {
char cadena1[4];
cadena1[0]='h'; cadena1[1]='o'; cadena1[2]='l'; cadena1[3]='a';
printf("La palabra en la variable cadena1 es: %c%c%c%c \n", cadena1[0],cadena1[1],cadena1[2],cadena1[3]);
return 0;
}

 

#include <stdio.h>
#include <stdlib.h>
//Ejemplo aprenderaprogramar.com
int main() {
typedef char TipoCadena[50];
TipoCadena nombre1;
TipoCadena nombre2;
nombre1[0]='S'; nombre1[1]='a'; nombre1[2]='m';
nombre2[0]='J'; nombre2[1]='o'; nombre2[2]='e';nombre2[3]='l';
printf("El nombre 1 es %c%c%c \n", nombre1[0], nombre1[1], nombre1[2]);
printf("El nombre 2 es %c%c%c%c \n", nombre2[0], nombre2[1], nombre2[2], nombre2[3]);
return 0;
}

 

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 acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

 

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

 

Descargar archivo: