viernes, 18 de julio de 2008

Arrays y Cadenas en C/C++

_________________________________________________

Arrays y Cadenas

_________________________________________________

Un array es una colección de variables del mismo tipo que se referencian por un nombre común. A un elemento específico de un array se accede mediante un índice. En C todos los arrays constan de posiciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la más alta al último. Los arrays pueden tener una o varias dimensiones. El array más común en C es la cadena, que simplemente es un array de caracteres terminado por uno nulo.


Arrays unidimensionales

Los arrays unidimensionales son listas de información del mismo tipo que se guardan en posiciones contiguas de memoria según el orden del índice. La forma general de declaración es:tipo nombre_variable [tamaño];

Los arrays tienen que declararse implícitamente para que el compilador reserve espacio en memoria para ellos. El tipo declara el tipo de los elementos del array, el tamaño indica cuántos elementos mantendrá el array.

Para declarar un array de 10 elementos denominado p y de tipo carácter, se escribe: p y de tipo carácter, se escribe: char p[10];En este caso hemos declarado un array que tiene diez elementos, desde p[0] hasta p[9].

En C todos los arrays tienen el 0 como índice de su primer elemento.

C no comprueba los límites de los arrays. Se puede pasar cualquier extremo de un array y escribir en alguna otra variable de datos e incluso en el código del programa.


Cadenas

El uso más común de los arrays unidimensionales es como cadenas de caracteres. En C una cadena se define como un array de caracteres que termina en un carácter nulo ('\0').

Para declarar un array de caracteres es necesario un carácter más que la cadena más larga que pueda contener, para dejar sitio para el carácter nulo del final de la cadena.

Una constante de cadena es una lista de caracteres encerrada entre dobles comillas. Por ejemplo: "hola, que tal"

No es necesario añadir explícitamente el carácter nulo al final de las constantes de cadena, el compilador lo hace automáticamente.


Arrays multidimensionales

C permite arrays de más de una dimensión. La forma general de declaración de un array multidimensional es:

Tipo nombre [a] [b] [c] .. [z];

Los arrays de tres o más dimensiones no se utilizan a menudo por la cantidad de memoria que se requiere para almacenarlos, ya que el almacenamiento requerido aumenta exponencialmente con el número de dimensiones.9.4 Inicialización de arrays C permite la inicialización de arrays en el momento de declararlos, como en cualquier variable. La forma general es: tipo nombre [tamaño1] [tamaño n]={lista de valores};

la lista de valores es una lista de constantes separadas por comas cuyo tipo es compatible con el tipo especificado en la declaración del array. Por ejemplo: int i[10] = {1,2,3,4,5,6,7,8,9,10};

Con las cadenas o arrays de caracteres se hace igual, aunque permite una inicialización abreviada. Estas dos sentencias producen el mismo resultado:
char cad[11] = "Me gusta C";
char cad[11] = {'M','e',' ','g','u','s','t','a',' ','C','\0'};

Los arrays multidimensionales se inicializan del mismo modo que los unidimensionales.


Gracias de nuevo a John Jairo Gomez

Por: rufiopunkrock

No hay comentarios: