Conceptos de Vectores y Arrays (PDF)
Document Details
Uploaded by Deleted User
Tags
Summary
Este documento proporciona una introducción a los vectores y arrays. Explica la declaración, el acceso y diferentes conceptos relacionados, así como ejemplos básicos, usando un lenguaje de programación común.
Full Transcript
CONCEPTO DE VECTOR O ARRAY Concepto Vector, arreglo o array: Objeto que permite definir un almacenamiento (con un nombre común) en memoria principal de una colección de datos: del mismo tipo ordenados de manera secuencial (en posiciones contigüas de memoria), d...
CONCEPTO DE VECTOR O ARRAY Concepto Vector, arreglo o array: Objeto que permite definir un almacenamiento (con un nombre común) en memoria principal de una colección de datos: del mismo tipo ordenados de manera secuencial (en posiciones contigüas de memoria), de manera que cada dato ocupa una posición determinada (0, 1, 2 …) denominada índice. La forma de acceder a un dato determinado es indicar su número de posición. Ejemplo - Notas de los alumnos de una clase ordenadas por número de orden del alumno Índice 0 1 2 3 4 5 6 NOTAS 7.5 2 6 9 2 4 6 NOTAS =9 - Número de que se obtiene en cada una de las tiradas de un dado Índice 0 1 2 3 4 5 6 TIRADAS 5 6 2 6 5 1 2 TIRADAS =2 Declaración tipo_dato identificadorV[dimensión] El tipo indica al compilador cuantos bytes se necesitan para cada elemento y la dimensión cuantos elementos. Es típico definir la dimensión con #define dimensión N - Se puede inicializar un vector al declarlo - Solo se deberían declarar sin dimensión los vectores de caracteres inicializados: char vector[]=”hola” Acceso identificadorV[indice] Donde indice es una variable int o char (numérica) - Un array indexado se utiliza exactamente igual a como se utilizaría una variable del tipo base del vector (asignarle un valor,usarla en expresiones) - No se comprueba que el índice está dentro de los límites (‘0’ y ‘dimensión-1’): es responsabilidad del programador evitar escribir o leer fuera de los limites. - Escribir fuera de los límites de un array es especialmente pernicioso: se altera el contenido de posiciones de memoria que pueden contener cualquier cosa (otras variables, código máquina, etc). int main(int argc, char * argsv[]) { unsigned char nDiasxMes={31,28,31,30,31,30,31,31,30,31,30,31}; int mes; printf(“El número de dias de Enero es%i”, nDiasxMes; printf(“Indica un número de mes entre 1 y 12”); do{ scanf(“%i”,&mes); }while((mes12)); printf(“El número de dias del més número %i es %i”, mes, nDiasxMes[mes-1]; printf(“El número de dias de Diciembre es %i”, nDiasxMes; } ARRAYS Y FUNCIONES - Un array declarado como variable local de una función se usa igual que cualquier otra variable - Un array que aparezca como parámetro de una función presenta algunas particularidades: 1-Llamada a una función que tenga como parámetro un array: se escribe el nombre del array sin corchetes 2-Declaración como parámetro formal en la cabecera de una función: se escribe tipo nombreVector [] (sin escribir un tamaño, aunque no sería incorrecto). 3- Los vectores no se pueden devolver en una función (return), por lo que si se desea que una función modifique un array en principio tendríamos que pasarlos como parámetro por referencia. Esto no es necesario ya que los vectores se pasan siempre por referencia (son en realidad punteros). Por tanto cualquier cambio que haga una función en un array pasado como parámetro será un cambio permanente. Un error típico del programador en C novato es confiar que un array pasado como parámetro actual a una función no se modificará. Tampoco es necesario utilizar el operador & delante del nombre del array. El nombre de un array equivale sintácticamente a la dirección del elemento cero (es decir array == &array). #include void visualizar(int []); int main() { int array,i; for (i=0;i