3
ARREGLOS Un arreglo, también llamado matriz (array), es un conjunto de elementos dispuestos secuencialmente, que contienen datos del mismo tipo. El tamaño de un arreglo está dado por su número de elementos. El tamaño se debe fijar cuando se declara el arreglo. El tamaño y el tipo de datos del arreglo definen el espacio de memoria que ocupará dicha matriz. Estos arreglos pueden ser de uno o varias dimensiones. No existe límite, salvo la cantidad de memoria existente en el computador. 3.1. DECLARACIÓN DE UN ARREGLO O MATRIZ Su formato es el siguiente: tipo ident_arreglo[num_elementos]; tipo ident_arreglo[num_fila][num_col]; Ej 3.1. Declaración de arreglo unidimensional y bidimensional void() { int mat[10]; ... } void() { int tabla[10][2]; ... } En este caso se ha definido un arreglo de 10 elementos enteros. Los que ocupan 20 bytes de memoria. El acceso de los elementos se hace desde el elemento 0 al elemento 9, es decir: mat[0] mat[1] ..... mat[9] Acceso a los elementos de una matriz Pueden ser accesado en forma individual o por medio de un índice, el cual debe ser entero. Para inicializar un elemento en particular: Ej 3.2. Diferentes formas de acceso de un arreglo. void main() { int matriz[10]; matriz[3]=10; matriz[9]=5; .... } void main() { int m[10]; m[3]=m[9]=4; m[0]=0; .... } void main() { int m[5],i=3; m[i]=3; m[i*2-1]=65; ... }

array.pdf

Embed Size (px)

Citation preview

Page 1: array.pdf

ARREGLOS

Un arreglo, también llamado matriz (array), es un conjunto de elementos dispuestos secuencialmente, quecontienen datos del mismo tipo. El tamaño de un arreglo está dado por su número de elementos. El tamaño se debefijar cuando se declara el arreglo. El tamaño y el tipo de datos del arreglo definen el espacio de memoria queocupará dicha matriz. Estos arreglos pueden ser de uno o varias dimensiones. No existe límite, salvo la cantidadde memoria existente en el computador.

3.1. DECLARACIÓN DE UN ARREGLO O MATRIZ

Su formato es el siguiente:

tipo ident_arreglo[num_elementos]; tipo ident_arreglo[num_fila][num_col];

Ej 3.1. Declaración de arreglo unidimensional y bidimensional

void(){

int mat[10];...

}

void(){

int tabla[10][2];...

}

En este caso se ha definido un arreglo de 10 elementos enteros. Los que ocupan 20 bytes de memoria. Elacceso de los elementos se hace desde el elemento 0 al elemento 9, es decir:

mat[0] mat[1] ..... mat[9]

Acceso a los elementos de una matriz

Pueden ser accesado en forma individual o por medio de un índice, el cual debe ser entero. Para inicializarun elemento en particular:

Ej 3.2. Diferentes formas de acceso de un arreglo.

void main(){ int matriz[10]; matriz[3]=10; matriz[9]=5; ....}

void main(){ int m[10]; m[3]=m[9]=4; m[0]=0; ....}

void main(){ int m[5],i=3; m[i]=3; m[i*2-1]=65; ...}

Page 2: array.pdf

Ej 3.3. Utilizando un ciclo for para inicializar un arreglo:

void main(){ int i, m[10]; for(i=0;i<10;i++) m[i]=0; /* pone en 0 todos los elementos del arreglo */...}

Ej 3.4. Declarando e inicializando un arreglo de 5 elementos.

void main() { int ma[5]={3,4,6,89,10}; .... }

Si se sobrepasan los límites del arreglo, el compilador NO entregará mensaje de error alguno. El acceso aarreglo bidimensional se puede realizar de acuerdo a Ej 3.3.

Ej 3.5. Declaración e inicialización de una matríz de dos dimensiones.

void main(){ int a[2][3]= {

{1,2,3},{4,5,6}

};}

En este caso es una matriz que tiene dos filas y tres columnas, donde:

a[0]: contiene la direccion de memoria de la primera filaa[1]: contiene la dirección de memoria de la segunda fila.a contiene la dirección de a[0].

Page 3: array.pdf

Ej 3.6. El programa despliega el contenido de la matriz a[ ][ ] en pantalla.

#include<stdio.h>void main(){ int a[2][3]= {

{1,2,3}, {4,5,6} };

int i, j; for(i=0; i<2;i++)

for(j=0;j<3;j++) printf( "%d ", a[i][j]);}