Documentos de Académico
Documentos de Profesional
Documentos de Cultura
C Arrays
C Arrays
LENGUAJES DE PROGRAMACIN
Ing. Csar Canelo Sotelo
ARRAYS
Un array es una coleccin de variables del mismo tipo que se denominan por un mismo nombre. En C todos los arrays constan de posiciones de memoria contiguas. A un elemento especfico del array se accede mediante un ndice. Los arrays pueden tener una o ms dimensiones.
ARRAYS UNIDIMENSIONALES
Son arreglos de una dimensin tambin denominados vectores o listas. La forma general de declaracin es: tipo_dato nombre_de _variable[tamao]; Al momento de declarar un array, se reserva un espacio de memoria para sus elementos.
ARRAYS UNIDIMENSIONALES
Para un array unidimensional, el tamao total de bytes que requiere, se calcula as: bytes totales = sizeof(tipo base)*nmero de elementos Todos los arrays unidimensionales tienen el 0 como ndice de su primer elemento. Por tanto, cuando se escribe: char a[6]; Se est declarando un array de caracteres que tiene 6 elementos, desde a [0] hasta a[5].
Ejemplos: int vector[]={1,2,3,4,5,6,7,8}; char cadena[]=programador; char cadena[]={p,r,o,g,r,a,m,a,d,o,r}; Los elementos del array que no son inicializados automticamente tienen valor cero.
PROCESAMIENTO DE UN ARRAY En C no se permiten operaciones que impliquen arrays completos. As, si a y b son dos arrays similares (mismo tipo de datos, misma dimensin y mismo tamao), operaciones de asignacin, de comparacin, etc., deben realizarse elemento por elemento. Esto se hace normalmente dentro de un bucle donde cada paso del bucle se usa para procesar un elemento del array. El nmero de pasos del bucle ser igual al nmero de elementos del array.
PROCESAMIENTO DE UN ARRAY
/* Ejemplo. Programa que lee los elementos de un vector y luego los visualiza */ #include <stdio.h> #include <conio.h> main() { int vector[10]; int i; for(i=0; i<10; i++) /* Bucle que lee los elementos del array */ vector[i]=i; for(i=0; i<10; i++) /* Bucle que escribe los elementos del array */ printf(%d\n, vector[i]); getch(); }
Los arrays unidimensionales nicamente pueden ser enviados a una funcin por referencia. En la llamada a la funcin se pone el nombre del array sin ndice. Esto pasa la direccin del primer elemento del array a la funcin. No se puede pasar un array completo como argumento a una funcin, en su lugar se pasa un puntero.
En este ejemplo se aprecia como se enva un array a una funcin por referencia. Tambin se podra haber declarado de otra forma con igual resultado:
Declaracin de prototipo: void visualizar(int *); Cabecera de la funcin : void visualizar(int *arreglo)
CADENAS
El uso ms comn de los arrays unidimensionales en C, es como una cadena de caracteres. C incluye algunas funciones potentes de manejo de cadenas. En C una cadena se define como un arrays de caracteres de cualquier longitud que termina en un carcter nulo. Un carcter nulo se especifica como \0 y es un cero. Por esta razn, para declarar arrays de caracteres es necesario que sean de un carcter ms que la cadena ms larga que pudiera contener.
CADENAS
As, para declarar un array cadena que contenga una cadena de 10 caracteres, se declarar: char cadena[11]; Esto dejar sitio para el carcter nulo del final de la cadena. En C una cadena de caracteres es una lista de caracteres encerrada entre doble comillas. As: Hola, buenos das No es necesario aadir explcitamente el carcter nulo al final de la cadena, el compilador de C lo hace automticamente (con la tecla enter).
El lenguaje C soporta una gran variedad de funciones de manejo de cadenas. Algunas de las ms comunes son: strcpy(), strcat(), strlen() y strcmp(), que se usan respectivamente para copiar, concatenar, hallar longitud y comparar respectivamente. Estas funciones se encuentran en la librera <string.h>.
En la librera <stdio.h> se tiene otras funciones para la entrada y salida de cadenas: Funcin Significado puts: Escribe una cadena seguida de un retorno de carro. gets: Lee una cadena terminada en un retorno de carro (el cual se sustituye por \0). putchar: Escribe un nico carcter. getchar: Lee un nico carcter.
ARRAYS BIDIMENSIONALES
Son arreglos de dos dimensiones tambin denominados tablas o matrices. La forma general de declaracin es:
tipo_dato nombre_del _array[tamao de la 1ra dimensin] [tamao de la 2da dimensin];
Por tanto, para declarar el array tabla de enteros bidimensional de tamao 10, 20 se escribir: int tabla[10 ][20]; Para acceder al elemento que est en la 4ta. fila y 3ra columna del array tabla, se escribir: tabla[3][2];
GRACIAS