- Caracteres y
cadenas - Cadenas
- (Operaciones con
cadenas en el lenguaje C) - Cadenas
dinámicas y estáticas - Arreglos
- Arreglos
unidimensionales y bidimensionales - Bibliografía
- Anexos
Caracteres Y
Cadenas
En matemáticas o en programación, una
cadena de caracteres, palabra o frase (String en inglés)
es una secuencia ordenada de longitud arbitraria (aunque finita)
de elementos que pertenecen a un cierto alfabeto. En general, una
cadena de caracteres es una sucesión de caracteres
(letras, números u otros signos o
símbolos).
En matemáticas es habitual usar las letras w, x,
y,… para referirnos a las cadenas. Por ejemplo, si tenemos un
alfabeto S = {a, b, c}, una cadena podría ser: x =
aacbbcba.
Desde un punto de vista de la programación, si no
se ponen restricciones al alfabeto, una cadena podrá estar
formada por cualquier combinación finita de todo el juego
caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A'
a la 'Z', los números del '0' al '9', el espacio en blanco
' ', símbolos diversos '!', '@', '%', etc.). En este mismo
ámbito (el de la programación), se utilizan
normalmente como un tipo de dato predefinido, para palabras,
frases o cualquier otra sucesión de caracteres. En este
caso, se almacenan en un vector de datos, o matriz de datos de
una sola fila (array en inglés). Las cadenas se pueden
almacenar físicamente:
1. Seguidas.
2. Enlazada letra a letra.
Generalmente son guardados un carácter a
continuación de otro por una cuestión de eficiencia
de acceso.
Un caso especial de cadena es la que contiene cero
caracteres, a esta cadena se la llama cadena
vacía.
Cadenas
Las cadenas de caracteres son un tipo especial de
arreglo pues se trata de un conjunto de datos de tipo char que
termina con un caracter nulo, a este tipo de cadenas
también se les conoce como "cadenas". Básicamente
el manejo de cadenas es muy similar al de los
arreglos.
Ejemplo 1:
Imagen 1
Como se muestra en la imagen 1 podemos observar la
codificación necesaria de los tipos de datos para la
utilización de las cadenas. A continuación el
resultado del ejemplo:
Imagen 2
La variable cadena es una cadena que puede almacenar
hasta seis caracteres, tomando en cuenta que se requiere un
espacio para almacenar el caracter nulo al final de la cadena. El
símbolo %s mostrado en los enunciados printf( ) le indica
al sistema que despliegue una cadena de caracteres empezando con
el elemento subíndice cero, que en el código de
ejemplo es la letra L, y continuando hasta encontrar el caracter
nulo. Observe que en los enunciados printf( ) cuando se indica la
variable cadena sin corchetes indica que se despliegue la
totalidad de la cadena, en tanto que al indicar la variable
cadena con algún valor entre corchetes se refiere a un
solo elemento de la cadena, en este caso debemos utilizar en el
enunciado printf( ) el símbolo %c que le indica al sistema
que despliegue un solo carácter. El símbolo &
especifica la dirección en memoria de cadena[3], este
símbolo lo estudiaremos mas adelante. A
continuación se muestra un ejemplo del manejo de
cadenas.
Ejemplo2:
Imagen 3
Como puede ver, en la imagen 3 se han definido cuatro
arreglos de tipo char de diferente longitud, enseguida nos
encontramos con la función strcpy( ) que sirve para copiar
la cadena especificada en la segunda entidad dentro del
paréntesis de la función en un arreglo de tipo char
especificado por la primera entidad dentro del paréntesis
de la función strcpy, de esta forma, por ejemplo, la
cadena "Pedro Picapiedra" se copia en el arreglo de tipo char
llamado cadena1.
Mas adelante en el código nos encontramos con la
función strcmp( ) que como es fácil adivinar, sirve
para comparar, letra por letra, dos cadenas especificadas dentro
del paréntesis. Esta función devuelve 1 si la
primera cadena es mayor que la segunda, es decir, si tiene mayor
cantidad de letras. Si ambas cadenas son iguales la
función devuelve 0, en tanto que si la primera cadena es
menor que la segunda entonces el valor devuelto es -1.
Siguiendo en el ámbito de la informática,
al considerar las cadenas como un tipo de datos, hay que definir
(o conocer) cuales son las operaciones que podemos hacer con
ellas, en principio estas podrían ser muchas y llegar a
ser muy sofisticadas, pero las que podríamos considerar
básicas son:
Concatenación: Consiste en unir dos
cadenas o más (o una cadena con un carácter) para
formar una cadena de mayor tamaño.
Búsqueda: Consiste en localizar
dentro de una cadena una subcadena más pequeña o un
carácter.
Extracción: Se trata de sacar fuera
de una cadena una porción de la misma según su
posición dentro de ella. Se vera a continuación en
la imagen 4 el resultado de la imagen 3:
Imagen 4
(Operaciones con
cadenas en el lenguaje C)
Representación
Página siguiente |