Arrays y cadenas de texto

Solo disponible en BuenasTareas
  • Páginas : 12 (2919 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de noviembre de 2010
Leer documento completo
Vista previa del texto
Arrays y cadenas de texto
Los arreglos son usados extensamente por los programadores para contener listas de datos en la memoria, por ejemplo, los datos almacenados en un disco suelen leerse y ponerse dentro de un arreglo con el objetivo de facilitar la manipulación de dichos datos, ya que los datos en memoria pueden ser modificados, clasificados, marcados para su eliminacion, etc. para luegoser reescritos al disco. Otro ejemplo podría ser el de un menú de opciones que se desplegarán dentro de una ventana para que el usuario pueda elegir una de éstas, en tales casos y cuando las opciones son numerosas, solamente se ponen unas cuantas de ellas dentro de la ventana pero se le da al usuario la oportunidad de poder subir y bajar a su antojo para ver el resto de opciones que, aunque no sevean en la ventana, forman parte del menú o arreglo de opciones.
array”.
Un array se puede visualizar como una colección de cajas que representan variables de un mismo tipo de datos, tal y como se ilustra en la siguiente figura. A este tipo de array se le suele denominar array unidimensional o vector.

Para hacer referencia a una caja o componente en particular, usaremos el nombre oIdentificador del array seguido por un número (índice) entre corchetes, que indicará su
Posición dentro del array. En este caso dicho índice sería función del número de
Identificación del correspondiente agente de ventas.

¿Qué es una cadena de caracteres?
En el caso específico de la palabra inglesa "array" concerniente a este curso de C, no haremos la traducción de la misma. En C, nos referimos a unarray como un conjunto de datos todos del mismo tipo, siendo la cadena de caracteres un tipo especial de array 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 ASCII-Z" y será la que trataremos en primer lugar. Empezamos por definir un array de tipo char y especificamos el tamaño del mismo con un número,llamado subíndice, encerrado entre corchetes. Este número le indica al sistema la cantidad de espacios para caracteres que contendrá la cadena en cuestión. Los elementos de un array se almacenan en forma contigua en la memoria de la computadora y el subíndice del primer elemento siempre es cero. El nombre del array es una constante que representa la dirección del primer elemento del array. Veamosun código de ejemplo:

#include <stdio.h>

int main()
{
char cadena[6]; /* Define una cadena de caracteres */

cadena[0]='L';
cadena[1]='e';
cadena[2]='t';
cadena[3]='r';
cadena[4]='a';
cadena[5]='s';
cadena[6]=0; /* Caracter nulo, significa el fin del texto */

printf("La cadena es %s\n", cadena);
printf("La tercera letra de la cadena es:%c\n", cadena[2]);
printf("Una parte de la cadena es : %s\n", &cadena[3]);

return 0;
}
La variable cadena es por tanto 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 caracteresempezando 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, eneste caso debemos utilizar en el enunciado printf( ) el símbolo %c que le indica al sistema que despliegue un solo caracter. El símbolo & especifica la dirección en memoria de cadena[3], este símbolo lo estudiaremos mas adelante. Compile y ejecute el código de ejemplo para mayor claridad en lo aquí expuesto. Modifiquemos nuestro código para estudiar algunas funciones nuevas:

#include <stdio.h>...
tracking img