DEFINICIN
Un array es una coleccin finita, homognea, y ordenada de elementos.
Ejem.-
A= 34 45 12 05 93 Datos
(0) (1) (2) (3) (4) Indices
CLASIFICACIN
ARRAY UNIDIMENSIONAL (VECTOR)
slo utiliza un ndice para referenciar a cada uno de los elementos. Su
declaracin ser:
tipo nombre [tamao];
Es la estructura natural para modelar listas de elementos iguales.
Nota: Los elementos de un array ocupan posiciones contiguas de memoria
ARRAYS Y PUNTEROS
int vector[10];
int *puntero;
puntero=vector
(*puntero)++;
puntero++;
-->
equivale a: puntero=&vector[0];
*(puntero+i);
(puntero+i);
EJEMPLOS
#include <stdio.h>
main()
{
int i,*puntero,vec[30],n;
puntero=vec;
printf("Ingrese el rango del vector:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",puntero);
puntero++;
}
puntero=vec;
for(i=0;i<n;i++)
{
printf("%d\n",*puntero);
puntero++;
}
}
#include <stdio.h>
main()
{
int i, *puntero, vec[30], n;
puntero=vec;
printf("Ingrese el rango del vector:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",(puntero+i));
}
for(i=0;i<n;i++)
{
printf("%d\n",*(puntero+i));
}
}
ARRAYS DE PUNTEROS
Arreglo de punteros no es lo mismo que puntero a arreglos. Son arreglos en los
que cada uno de sus elementos es un puntero.
EJEMPLO
#include <stdio.h>
main()
{
int *px[5];
int x,y,z;
px[0]=&x;
px[1]=&y;
px[2]=&z;
*px[0]=10;
*px[1]=20;
*px[2]=30;
printf("%d %d %d",x,y,z);
}
BIDIMENSIONAL
ARRAY BIDIMENSIONAL (MATRICES)
Los arreglos bidimensionales se usan para representar datos que pueden verse como una tabla con filas
y columnas.
Tipo nombre[tamao filas][tamao columnas];
Ejem.-
matriz[2][3]=
(0)
2
(1)
3
(2)
4
(3)
5
(4)
Datos
(5 ) Indices
PUNTEROS
int mat[10][10];
int *puntero;
puntero=mat[0]
(*puntero)++;
puntero++;
EJEMPLOS
#include <stdio.h>
main()
{
int mat[10][10],i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&mat[i][j]);
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d",mat[i][j]);
}
printf(\n);
}
}
#include <stdio.h>
main()
{
int mat[10][10],*apmat,i,j;
apmat=mat[0];
for(i=0;i<6;i++)
{
scanf("%d",apmat);
apmat++;
}
apmat=mat[0];
for(i=0;i<6;i++)
{
printf("%d",*apmat);
apmat++;
if(i==2)
{
printf("\n");
}
}
}
CLASIFICACIN
ARRAY MULTIDIMENSIONAL
tambin es un tipo de dato estructurado, que est compuesto por n dimensiones.
Para hacer referencia a cada componente del arreglo es necesario utilizar n
ndices, uno para cada dimensin.
Tipo nombre[tamao x][tamao y][tamao z];
MULTIDIMENSIONALES
2 dimensiones:
3 dimensiones:
4 dimensiones:
5 dimensiones:
6 dimensiones:
etc.
matriz.
vector de matrices.
matriz de matrices.
vector de matriz de matrices.
matriz de matrices de matrices.