[Tutorial C] IV.2 - Tablas o arrays

Ver el tema anterior Ver el tema siguiente Ir abajo

[Tutorial C] IV.2 - Tablas o arrays

Mensaje  HarZe el Mar Dic 08, 2009 12:35 am


Tablas o Arrays


Es otra forma de almacenar variables, se usa para variables del mismo tipo y que tienen una relación entre ellas. Puede que ahora, si no conocias otros lenguajes de programación de forma avanzada, no le veas utilidad. Pero tras la explicación, espero que te des cuenta que son vitales.

Para declarar una tabla es:
Código:
TIPO NOMBRE[NUMERO DE ELEMENTOS];
Si quieres darle valores en el momento:
Código:
TIPO NOMBRE[NUMERO ELEMENTOS] = { elemento1, elemento2, .... elementoN };
Unos cuantos ejemplos:
Código:
int lado_pentagono[5];
double irracionales[] = { 1.414213562 , 1,732050808, 2,236067977 }; //Si no pones número entre corchetes, serán tantos elementos como tú definas
int pares_hasta_cien[50] = { 2, 4, 6, 8, 10}; //No hay porque dar valor a todos, no es obligatorio
Ahora queremos acceder a cada unos de los 5 valores de lado_pentagono, para darles un valor, sería así:
Código:
lado_pentagono[0] = 2;
lado_pentagono[1] = 5;
lado_pentagono[2] = 7;
lado_pentagono[3] = 3;
lado_pentagono[4] = 1;
Se accede poniendo entre corchetes el número concreto al que queremos acceder del los 5, empezando por el 0, no hay elemento 5, pues sería el sexto en realidad.

Ahora me gustaría recordar los bucles, en los que dije que vienen bien para las tablas.
Antes hemos definido pares_hasta_cien, pero solo hemos dado 5 valores, para que se cumpla lo que el nombre promete, habría que darse una matada de este tipo:
Código:
pares_hasta_cien[5] = 12;
pares_hasta_cien[6] = 14;
pares_hasta_cien[7] = 16;
pares_hasta_cien[8] = 18;
pares_hasta_cien[9] = 20;
...
Y así hasta 100, pues los bucles están para ahorrar trabajos como estos, también es útil para la revisión en tablas dimensionales, etc. A lo que estabamos:
Código:
int i;
for (i=0;i<=49;i++)
{
  pares_hasta_cien[i] = i*2;
}
Y ten por seguro, que todos los valores de 0 a 98 se habrán asignado correctamente, y en una línea (recordemos que podíamos atajar así):
Código:
for (i=0;i<=49;i++) pares_hasta_cien[i] = i*2;

Otro uso de las tablas es almacenar texto, las cadenas de texto, son cadenas de caracteres (letras). Tal y como sabes, para guardar un "Hola" sería:
Código:
char palabra[4] = { 'H' , 'o' , 'l', 'a' };
Pero si has incluido stdio.h puedes atajar así:
Código:
char palabra[4] = "Hola";

También existen las tablas multidimensionales:
Para almacenar datos en forma de tabla, con "filas y columnas" por decirlo así, así sería:
Código:
int tabla[2][3] ={ {2,3,4},{7,8,9} };
Es como tener una tabla dentro de otra. Para acceder a otra el método es el mismo que las tablas normales.

Las tablas se consideran grandes punteros, ya que si no especificas entre corchetes con un valor concreto de la tabla, estarás modificando el puntero. Es decir:
Código:
//En ambos casos se declaran dos arrays
int num[5];
int* num2;

HarZe
WebMaster & Desarrollador

Cantidad de envíos : 58
Fecha de inscripción : 21/06/2009
Edad : 24

Ver perfil de usuario http://opengl-esp.superforo.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.