Está en la página 1de 5

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS


CARRERA DE INGENIERÍA EN TECNOLOGÍA DE LA
INFORMACIÓN

DOCENTE: ING. CHICALA ARROYAVE JORGE ARTURO


MATERIA: Estructura de datos
CURSO: TIN-S-NO-2-3
TEMA: Cadena de caracteres
INTEGRANTES:
 LLERENA SALTOS RONALD PAUL
 MOROCHO GUEBLA ARIEL RAUL
 PÉREZ TIGRERO JOSÉ ALEJANDRO
 PIN CAMPAÑA ANDY ANDRES
 PINELA JIMENEZ VICTOR SAUL

Cadena de caracteres
Se describe cómo se definen las cadenas de caracteres en C como arreglos donde cada
elemento es de tipo char. Los caracteres se almacenan uno detrás del otro, y para marcar
el final de una cadena, se coloca un valor de terminación, que es cero o '\0' (el carácter
nulo, cuyo código ASCII es cero).

 Ventajas de la manipulación de cadenas en C

1. Se destaca que este enfoque de manejo de cadenas trae ventajas en comparación


con otros lenguajes de programación como Pascal. En Pascal, la longitud de las
cadenas se almacena como parte de la representación, lo que limita la longitud
de las cadenas a 255 caracteres, mientras que, en C, no se almacena la longitud,
lo que permite el manejo de cadenas sin límites de tamaño.
2. Flexibilidad y eficiencia en la manipulación de caracteres individuales y
substrings: En C, puedes acceder a caracteres individuales dentro de una cadena
utilizando índices o punteros, lo que facilita la manipulación de caracteres en
cualquier posición de la cadena.
3. Control total sobre la memoria en C, cuando trabajas con cadenas de caracteres,
tienes un control directo sobre la asignación y liberación de memoria. Puedes
asignar dinámicamente memoria para cadenas usando funciones como malloc y
luego liberarla manualmente con free cuando ya no la necesites.
Declaración:
Una cadena de caracteres es un arreglo de tipo char, por lo tanto, una cadena de
caracteres se declara de la siguiente manera:

Inicialización:
Como cualquier arreglo, una cadena de caracteres se puede ser inicializado en el
momento de su declaración. Esta operación se realiza de la siguiente manera:
char nomb1[10] = { 72, 111, 108, 97, 0, 43, 9, 123, 10, 45}; ó
char nomb2[10] = {'H', 'o', 'l', 'a', '\0', '+', '\t', '{', '\n', 'A'};
En ambos casos se asigna a los elementos del arreglo la misma información (los
números en nomb1 equivalen a los códigos ASCCI de los caracteres que aparecen en
nomb2).
Observe que, según lo expuesto anteriormente, sólo los primeros cuatro datos
corresponden a caracteres válidos en las cadenas, ya que el quinto elemento es un 0
(cero) o un '\0', delimitadores de la cadena.
Si recordamos de los arreglos, si se colocan menos valores de inicialización que la
capacidad del arreglo, el resto de elementos del arreglo se inicializa en cero. Entonces,
si realizamos la siguinte operación:
char nomb3[10] = {'H', 'o', 'l', 'a'};
Esto signfica que: nomb3[0] ï 'H’, nomb3[1] ï 'o’, nomb3[2] ï 'l’, nomb3[3] ï 'a’,
nomb3[4] ï 0 ó '\0’, nomb3[5] ï 0 ó '\0', etc., lo que significa que la cadena está
perfectamente delimitada.
 Lectura y escritura de cadenas de caracteres
El lenguaje C/C++ implementa una serie de funciones que permiten el ingreso y la
salida de cadenas de caracteres a, y desde, un programa. Empezaremos analizando las
funciones scanf y printf.
La función scanf, como lo indicamos en capítulos anteriores, permite el ingreso de datos
desde la consola. Esta misma función, empleando el especificador de formato %s,
permite el ingreso de cadenas de caracteres. Observe el siguiente ejemplo:
char nombre[20];
scanf("%s", nombre);

La función scanf también se puede emplear con punteros, sin embargo, se debe tener
especial cuidado en el setido de asegurar antes que el puntero apunte a una dirección
válida. En ese sentido, observe las siguientes instrucciones:

Un aspecto que se debe tomar en cuenta, cuando se quiere leer una cadena de caracteres
empleando scanf es que, al igual con la lectura de números, la exploración de un dato se
realiza hasta encontrar un "espacio" (entiéndase por "espacio", un carácter blanco, un
carácter de tabulación o un carácter de cambio de línea). Es por esta razón que
empleando el especificador de acceso %s en la función scanf sólo se podrán leer
palabras sueltas y no frases completas.
Conjunto de exploración %[]: Se denomina "conjunto de exploración" a una lista de
caracteres que se coloca en la cadena de formato de la función scanf y permite restringir
los caracteres que se pueden ingresar a una cadena de caracteres. Un "conjunto de
exploración" se coloca en reemplazo del %s, los caracteres que se desea permitir en el
ingreso se colocan uno a continuación del otro entre los paréntesis.

La función printf permite, empleando el especificador de formato %s, la impresió del


contenido de un arreglo de tipo char, como caracteres en la consola. La función irá
tomando cada uno de los elementos del arreglo e irá mostrando en la pantalla cada uno
de los caracteres correspondientes, hasta encontrar el delimitador de la cadena (0 ó '\0').
REFERENCIAS BIBLIOGRÁFICAS
BIBLIOGRAPHYPUCP. (s.f.). PUCP. Obtenido de PUCP:
http://agora.pucp.edu.pe/inf2170681/9.htm

También podría gustarte