Académique Documents
Professionnel Documents
Culture Documents
Programacion estructurada
Arreglos
UAM Azcapotzalco
Arreglos
1/15
Arreglos en lenguaje C
Contenido
Arreglos en lenguaje C
Arreglos en lenguaje C
Uni-dimensionales
UAM Azcapotzalco
Arreglos
2/15
Arreglos en lenguaje C
Arreglos en lenguaje C
Arreglos
Un arreglo (array ) es un conjunto de variables del mismo tipo
que son referenciadas por un identificador
Cada elemento en el arreglo es accedido por un ndice
En C, un arreglo es un segmento de memoria (locaciones de
memoria contiguas)
Los arreglos pueden ser de varias dimensiones, comunmente
de una o dos dimensiones
El arreglo mas com
un es C es la cadena (string ), el cual es un
arreglo de caracteres terminado por el caracter nulo (NULL,
\0)
Los arreglos y los apuntadores (pointer ) estan estrechamente
relacionados
Oscar Alvarado Nava
UAM Azcapotzalco
Arreglos
3/15
Arreglos en lenguaje C
Arreglos en lenguaje C
UAM Azcapotzalco
Arreglos
4/15
Arreglos en lenguaje C
Uni-dimensionales
UAM Azcapotzalco
Arreglos
5/15
Arreglos en lenguaje C
Uni-dimensionales
Declaracion de un arreglo
float unArreglo[10];
unArreglo
En tiempo de compilaci
on se reserva un segmento de memoria
suficiente para alojar el arreglo
En este caso, si cada float es de 4 bytes, el segmento
debera de ser de 40 bytes
Ni compilador, ni el cargador inicializan el arreglo
UAM Azcapotzalco
Arreglos
6/15
Arreglos en lenguaje C
Uni-dimensionales
dir float.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
UAM Azcapotzalco
Arreglos
7/15
Arreglos en lenguaje C
Uni-dimensionales
dir char.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
UAM Azcapotzalco
Arreglos
8/15
Arreglos en lenguaje C
Uni-dimensionales
dir double.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
UAM Azcapotzalco
Arreglos
9/15
Arreglos en lenguaje C
Uni-dimensionales
Inicializacion de un arreglo
Ni compilador, ni el cargador inicializan el arreglo
Sera responsabilidad del programador inicializar el arreglo con
valores adecuados
La inicializacion se puede hacer al declarar el arreglo
...
float puntos[5] = {1.1, -2.2, 3.3, -4.4, 5.5};
...
char vocales[5] = {a, e, i, o, u};
...
int respuesta[2] = {0, 1};
...
UAM Azcapotzalco
Arreglos
10/15
Arreglos en lenguaje C
Uni-dimensionales
3.1 1.2 1.3 4.4 1.5 2.5 2.7 3.1 3.3 3.9
UAM Azcapotzalco
Arreglos
11/15
Arreglos en lenguaje C
Uni-dimensionales
Acceso al arreglo
float unArreglo[10];
0
unArreglo
3.1 1.2 1.3 4.4 1.5 2.5 2.7 3.1 3.3 3.9
UAM Azcapotzalco
Arreglos
12/15
Arreglos en lenguaje C
Uni-dimensionales
Almacenamiento en el arreglo
0
unArreglo
3.1 1.2 1.3 9.9 1.5 2.5 2.7 3.1 3.3 3.9
UAM Azcapotzalco
Arreglos
13/15
Arreglos en lenguaje C
Uni-dimensionales
promedio arreglo.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
UAM Azcapotzalco
Arreglos
14/15
Arreglos en lenguaje C
Uni-dimensionales
Desbordamiento de arreglos
Ni en la compilaci
on ni en la ejecuci
on del programa se
prueban los lmites de un arreglo
Sera responsabilidad del programador asegurar que el arreglo
no sea desbordado
int puntos[10],i;
...
for(i=0; i<100; i++)
puntos[i] = i+1;
...
UAM Azcapotzalco
Arreglos
15/15