C++ Arreglos

C++ admitearreglosEstructura de datos que puede almacenar una colección secuencial de elementos del mismo tipo con un tamaño fijo. Los arreglos se utilizan para almacenar una serie de datos, pero a menudo se consideran como una serie de variables del mismo tipo.

Declarar un arreglo no es declarar variables individuales, como number0, number1, ..., number99, sino declarar una variable de arreglo, como numbers, y luego usar numbers

Todos los arreglos están compuestos por posiciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta al último elemento.

Declaración de arreglos

En C++, para declarar un arreglo, se debe especificar el tipo de los elementos y la cantidad de elementos, como se muestra a continuación:

type arrayName [ arraySize ];

Esto se llama arreglo unidimensional.arraySizedebe ser una constante entera mayor que cero,typepuede ser cualquier tipo de datos válido de C++. Por ejemplo, para declarar un arreglo de 10 elementos de tipo doublebalance, la declaración es la siguiente:

double balance[10];

Ahorabalancees un arreglo utilizable que puede contener 10 números de tipo double.

Inicialización de arreglos

En C++, puede inicializar un arreglo elemento por elemento, o usar una declaración de inicialización, como se muestra a continuación:

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

El número de valores entre llaves { } no debe ser mayor que el número de elementos especificado entre corchetes [ ] al declarar el arreglo.

Si omite el tamaño del arreglo, el tamaño será el número de elementos en la inicialización. Por lo tanto, si:

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

creará un arreglo exactamente igual al creado en el ejemplo anterior. A continuación se muestra un ejemplo de asignación de valor a un elemento del arreglo:

balance[4] = 50.0;

La instrucción anterior asigna el valor 50.0 al quinto elemento del arreglo. Todos los arreglos usan 0 como índice del primer elemento, también llamado índice base; el último índice de un arreglo es el tamaño total del arreglo menos 1. A continuación se muestra la representación gráfica del arreglo discutido anteriormente:

数组表示

Acceso a los elementos del arreglo

Los elementos de un arreglo se pueden acceder mediante el nombre del arreglo más un índice. El índice del elemento se coloca entre corchetes, después del nombre del arreglo. Por ejemplo:

double salary = balance[9];

La instrucción anterior asignará el valor del décimo elemento del arreglo a la variable salary. El siguiente ejemplo utiliza los tres conceptos mencionados: declaración del arreglo, asignación del arreglo y acceso al arreglo:

Ejemplo

#include <iostream> using namespace std; #include <iomanip> using std::setw; int main () { int n[ 10 ]; // n es un arreglo que contiene 10 enteros // inicializa los elementos del arreglo for ( int i = 0; i < 10; i++ ) { n[ i ] = i + 100; // establece el elemento i como i + 100 } cout << "Element" << setw( 13 ) << "Value" << endl; // genera el valor de cada elemento del arreglo for ( int j = 0; j < 10; j++ ) { cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl; } return 0; }

El programa anterior utilizala función setw()para formatear la salida. Cuando el código anterior se compila y se ejecuta, produce el siguiente resultado:

Element        Value
      0          100
      1          101
      2          102
      3          103
      4          104
      5          105
      6          106
      7          107
      8          108
      9          109

Detalles de los arreglos en C++

En C++, los arreglos son muy importantes y necesitamos conocer más detalles sobre ellos. A continuación se enumeran algunos conceptos importantes relacionados con los arreglos que todo programador de C++ debe tener claros:

ConceptoDescripción
Arreglos multidimensionalesC++ admite arreglos multidimensionales. La forma más simple de un arreglo multidimensional es el arreglo bidimensional.
Punteros a arreglosPuede generar un puntero al primer elemento de un arreglo especificando el nombre del arreglo sin índice.
Pasar arreglos a funcionesPuede pasar a una función un puntero al arreglo especificando el nombre del arreglo sin índice.
Devolver arreglos desde funcionesC++ permite devolver arreglos desde una función.
Otras extensiones