Arreglos
Definición 1 Un arreglo se compone de elementos de igual tamaño almacenados linealmente en posiciones de memoria consecutiva.
Se puede acceder a cada elemento de datos individual utilizando un subíndice, o índice, para seleccionar uno de los elementos. En C/C++ , un arreglo no es un tipo de datos estándar; es un tipo agregado compuesto de cualquier otro tipo de datos.
Los arreglos se pueden definir usando tipos de datos mixtos debido a que se supone que todos los elementos son del mismo tamaño. Puesto que todos los elementos son del mismo tamaño y ya que este hecho se utiliza para ayudar a determinar cómo localizar un elemento dado, resulta que los elementos son almacenados en localidades de memoria contiguas.
Lo más importante a tener en cuenta es: El nombre de un arreglo es visto por el compilador como un puntero-constante al primer elemento del arreglo. Esto es muy importante: a) El nombre del arreglo es visto como un tipo puntero, y más específicamente, b) un puntero constante -significa una dirección de memoria bloqueada para el primer elemento de un arreglo-. Por ejemplo, aunque una declaración de arreglo toma la fórma genérica:
Tipo_ElementoArray NombreArray [ NumeroDeElementos ]
El compilador ve la declaración como
Tipo_ElementoArray * const NombreArray = &NombreArray[0];
Por esta razón, un identificador de arreglo no puede ser usado nunca como un valor-i (valor izquierdo). Los valores izquierdos representan variables que su contenido puede ser alterado por el programa; frecuentemente aparecen a la izquierda de las sentencias de asignación.
Si los nombres de arreglo fueran variables izquierdos permitidos, el programa podría cambiar sus contenidos.
float SalariosDeEmpleados[Max_empleados];
.
.
.
SalariosDeEmpleados = 45739.0;
El efecto haría cambiar la dirección inicial del propio arreglo.
Declaraciones de un arreglo
La sintaxis de declaración de arreglos es:
tipo nombre_arreglo [numero_de_elementos];
Los siguientes son dos ejemplos de declaraciones de arreglos válidas en C/C++ :
int CoordenadasDePantalla[5]; /*Un arreglo de 5 enteros */
char IDCompania[20]; /*Un arreglo de 20 caracteres */
En la figura 1 se muestra el primer arreglo que fue declarado con el tipo de números enteros, llamado CoordenadasDePantalla, ocupa en memoria 5 localidades de memoria contiguas, cada una de ellas capaz de almacenar un número entero. Actualmente es común que los números enteros sean de 32 bits, esto hace que el arreglo CoordenadasDePantalla ocupe
bits

No se permite utilizar nombres de variables dentro de los corchetes. Por esto no es posible evitar la especificación del tamaño del arreglo hasta la ejecución del programa. La expresión debe ser un valor constante, para que el compilador sepa exactamente cuánto espacio de memoria tiene que reservar para el arreglo.
Una buena práctica de programación es usar constantes predefinidas.
#define Coordenadas_Max 20
#define Tamano_MaX_Compania_Id 15
int CoordenadasDePantalla[Coordenadas_Max];
char IDCompania[Tamano_MaX_Compania_Id];
El uso de constantes predefinidas garantiza que futuras referencias al arreglo no excedan el tamaño del arreglo definido.
No hay comentarios:
Publicar un comentario