Uso De Arrays
Enviado por ashllyp12 • 11 de Octubre de 2013 • 635 Palabras (3 Páginas) • 312 Visitas
USOS DE ARRAYS EN C++
Un arreglo en C++ es un conjunto de datos que se almacenan en memoria de manera contigua con el mismo nombre. Para diferennciar los elementos de un arreglo se utilizan índices detrás del nombre del arreglo y encerrados por []. El elemento 5° (quinto) de un arreglo, es representado por el índice [4], ya que los índices comienzan en 0. Esto significa que un arreglo de 10 elementos tendría los índices del 0 al 9: [0...9]. Un arreglo en c++ de tipo X es en realidad un puntero que apunta a algo de tipo X. Pero no es un puntero comun.
Este es un puntero que no se puede difeferenciar. Es decir, podes asignarle su valor a otra cosa, pero no podes reasignarle un valor a tu puntero. El puntero ademas apunta a la posicion en donde se encuentra el primer elemento de tipo X de tu array. A partir de ahi vas a tener n elementos de X en memoria de manera consecutiva.
Por ejemplo supongamos un array de char que se llama miString de 16 posiciones. El compilador le va a asignar en tiempo de compilacion espacio para 16 caracteres (16 bytes). Y tu varialbe miString va a contener la posicion de memoria en donde empieza el bloque de 16 bytes destinados a tu array. Por lo tanto para acceder a esos elementos, podes hacer *(miString+n) donde n es el numero de elemento (ojo con irte fuera del array, estarias violando memoria). Esta anotacion es en definitiva otra manera de poner miString[n], pero en donde queda en evidencia que se trata de un puntero. Ademas fijate que ese n es el nro de elemento y no el offset en bytes, porque como vos definiste que tu array es del tipo X. C ya sabe que se trate de elementos X que opcupan sizeof(X).
Entonces cuando vos pones el n en los corchetes o en miString+n, ya sabe que tiene que sumarle sizeof(X)*n a miString y apuntar a esa posicion de memoria. Con eso te contesto que es. Ahora bien, para que sirve? Las utilidades pueden ser variadas. Por un lado te sirve para agrupar variables del mismo tipo, y poder aplicar ciclos y no tener que harcodear codigo. Con los arrays podes tener algoritmos de ordenamiento, de busqueda, que sean genericos. Sino tendrias que preguntar uno por uno a tus variables que serian distintas en cada programa y solo el programador sabe su nombre para ver si tenes que intercambiar o no.Te permite crear cadenas de caracteres y formar palabras, oraciones y hasta textos en prosa.
Ejemplo:
//Uso de arreglos en C++
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int arregloEntero[10] = {0};
//Arreglo entero de 10 elementos inicializados todos en 0.
cout << "Arreglo recien declarado: " << endl;
for (int i = 0 ; i < 10 ; i++)
//Notar el menor estricto (<) para ir desde 0 hasta 9
cout << "arregloEntero["<<i<<"]="<<arregloEntero[i]
...