Arreglos.

Operaciones Básicas con Arreglos:

Recordando un poco, en la defición de arreglos dimos esta serie de ejemplos:

    int var1[10];
    char nombre[50];
    float numeros[200];
    long double cantidades[25];
            

Si tomamos el primer caso, estamos declarando un array de 10 variables enteras, cada una de ellas quedará individualizada por el subíndice que sigue al nombre del mismo es decir:

    var1[0] , var1[1] , … , hasta var1[9] .
            

Nótese que la CANTIDAD de elementos es 10, pero su numeración va de 0 a 9 , y no de 1 a 10 . En resumen un array de N elementos tiene subíndices válidos entre 0 y N - 1. Cualquier otro número usado como subíndice, traerá datos de otras zonas de memoria, cuyo contenido es impredecible. Se puede referenciar a cada elemento, en forma individual, tal como se ha hecho con las variables anteriormente, por ejemplo:

    var1[5] = 40 ; 
    contador = var1[3] + 7 ; 
    if(var1[0] >> = 37) 
    ..................
            

También es posible utilizar como subíndice expresiones aritméticas, valores enteros retornados por funciones, entre otros. Así podríamos escribir:

    printf(" %d " , var1[ ++i] ) ; 
    var1[8] = var1[ i + j ] ; 
    ............................... 
    int funcion(void) ; 
    var1[0] = var1[funcion() ] * 15 ;
            

Por supuesto los subíndices resultantes de las operaciones tienen que estar acotados a aquellos para los que el array fue declarado y ser enteros. Inicialización de Arreglos: La inicialización de los arrays sigue las mismas reglas que vimos para los otros tipos de variables, es decir: Si se declaran como globales (afuera del cuerpo de todas las funciones) cada uno de sus elementos será automáticamente inicializado a cero. Si en cambio, su declaración es local a una función, no se realiza ninguna inicialización, quedando a cargo del programa cargar los valores de inicio. La inicialización de un array local, puede realizarse en su declaración, dando una lista de valores iníciales:

    int numero[8] = { 4 , 7 , 0 , 0 , 0 , 9 , 8 , 7 } ;       
            

Obsérvese que la lista está delimitada por llaves. Otra posibilidad, sólo válida cuando se inicializan todos los elementos del array, es escribir:

    int numero[] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , } ;
            

Donde se obvia la declaración de la cantidad de elementos, ya que está implícita en la lista de valores constantes.

También se puede inicializar parcialmente un array, por ejemplo:

    int numero[10] = { 1 , 1 , 1 } ;
            

En éste caso los tres primeros elementos del mismo valdrán 1, y los restantes cero en el caso que la declaración sea global, ó cualquier valor impredecible en el caso de que sea local.


Seguir a paginadeC en Twitter Foro de Página de C ¡CSS Válido!