Vector
Descripción
Un vector se define como una estructura formada por un conjuto o agrupación de datos del mismo tipo, cuyo acceso se realiza por un índice o puntero, que representa su posición en el vector.El primer elemento en el vector es [0], el segundo elemento es [1], y así sucesivamente.
Otra forma de definirno es como un conjunto de elementos del mismo tipo situados de forma consecutiva en memoria. Y el vector como totalidad, se representaría mediante la posición de memoria que ocupa su primer elemento, también conocido como "base address" del vector.
Los vectores se crean con un tamaño fijo, asignado por una constante y aunque no se puede cambiar dicho tamaño, si se pueden cambiar los valores de sus elementos en cualquier momento y en el orden deseado a través del índice o puntero.
Declaración o inicialización de un vector:
El formato general de la declaración es:
Tipo Nombre[Tamaño];
Ejemplos:
int iVec[10];
int iVec[20]={0}; //Todos los elementos se inicializan al valor 0; ¿?
int iVec[5]={5,7,8,9,1}; //Se pueden inicializar cada uno de los elementos
En todos los vectores el índice del primer elemento siempre es 0 por lo tanto, cuando se declara int iVec[5] se está declarando un vector que tiene 5 elementos, desde iVec[0] hasta iVec[4]
Acceso a elementos
Para acceder a un elemento en concreto se debe utilizar el nombre del vector y entre corchetes especificar la posición que ocupa en el vector.
Ejemplo1:
iVec[0]=3 ; // Asignar el valor 3 al primer elemento
Ejemplo2:
int numbers[] = { 90, 150, 30 }; //inicializado vector con 3 elementos
int a, b;
void setup() {
a = numbers[0] + numbers[1]; // asigna un valor 240 a la variable
b = numbers[1] + numbers[2]; // asigna un valor 180 a la variable}
Uso de estructura for con vectores:
También señalar que la estructura de control for es útil para leer (acceder) o imprimir los elementos que componen un vector.
Ejemplo:
// Inicializar todos los elementos de un vector a 1:
for( i = 0; i<5; i ++)
{
iVec[i]= 1;
}
/* Impresión del vector */
bytes names[] ={'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'}; //inicializado vector con 8 elementos
int count = 0;
for (count=0;count<=8;count++) {
serialWrite (names[count]);
}
Ver también
Volver a Indice