ARREGLOS Y PUNTEROS


Un arreglo es una coleccion de variables del mismo tipo que se referencia por un nombre comùn. A un elemento especifico de un arreglo se accede mediante un ìndice. En C todos los arreglos constan de posiciones de memoria contiguas. La direcciòn màs baja corresponde al primer elemento y la direcciòn màs alta al ùltimo elemento. Los arreglos pueden tener una o màs dimensiones.

ARREGLOS UNIDIMENSIONALES.

A los arreglos unidemensionales tambièn se les conoce como listas.

Tipo nombre[Tamaño];
Tipo nombre[];
donde:
tipo: Indica el tipo de datos de los elementos del arreglo.
nombre: es el identificador del arreglo
tamaño Especifica el nùmero de elementos del arreglo. El tamaño puede omitirse cuando se inicializa el arreglo, cuando se declara como un paràmetro en una funciòn o cuando se hace referencia a un arreglo declarado en otra parte del programa, es recomendable que el tamaño sea definido como una constante para garantizar no rebasar el lìmite del arreglo.
El lenguaje C no checa los lìmites de un arreglo. Ès resppnsabilidad del programador realizar este tipo de operaciones para no escribir o modificar porciones de memoria que no le pertenecen al arreglo. La cantidad de memoria requerida para guardar un arreglo este directamente relacionada con su tipo y su tamaño. Para un arreglo unidimensional, el tamaño total en bytes se calcula:
Total en bytes = sizeof(tipo)*tamaño = sizef(nombre_arreglo).
Cuando se crea un arreglo sòlo se puede utilizar constantes para inicializarlo.
CADENAS.
C no tiene un tipo de dato para cadenas de caracteres. Una cadena de caracteres es un arreglo unidimensional, en el cual todos sus elementos son de tipo char, al final del arreglo contiene el carácter nulo “/o”. C soporta una gran variedad de funciones para el manejo de cadenas definiciones en el archivo de cabecera string.h
Con la función streln() se calcula la longitud de la cadena, para que en el ciclo for se inicie a partir del último índice del arreglo de caracteres, decrementandolo, de no en uno hasta llegar a cero, en cada ciclo se le imprime un carácter a la vez.
ARREGLOS BIDIMENSIONALES.
El termino dimesion representa la cantidad de índices utilizados para referenciar un elemento particular en un arreglo. Los arreglos de màs de una dimensión se conocen como arreglos multidimensionales. La forma màs simple de un arreglo multidimensional es el arreglo bidimensional. Para definir un arreglo Tabla de enteros bidimensional de tamaño 5,4 se escrbirìa:
Int Tabla[5][4]
Un arreglo bidimensional puede verse como una tabla, donde el primer índice denota el número de filas y el segundo el número de columnas, asì la declaración anterior denotara una tabla de 5 filas por 4 columnas.
APUNTADORES.
Un puntero es una variable que contiene una dirección de memoria. Normalmente, esa dirección es la posición de otra variable de memoria. Si una variable contiene la dirección de otra variable, entonces se dice que la primera variable apunta a la segunda.
DECLARACIONES DE UN APUNTADOR.
Una declaración de un puntero consiste en un tipo base, un * y el nombre de la variable. La forma general para declarar una variable puntero es:
Tipo *nombre;
Existen 2 punteros especiales de punteros:& y *. El & es un operador monario (Sòlo necesita un operando) que devuelve la dirección de memoria de su operando; El *, es el complemento de &, devuelve el valor de la variable localizada en la dirección que sigue.
Las variables punteros deben apuntar siempre a otra variable de su mismo tipo, aunque C permite apuntar a una variable de n tipo distinto sin mensajes de error durante la compilación en algunos casos, hacerlo sería incongruente.
-Aritmética de punteros.
Existen solo dos operaciones aritméticas que se pueden realizar con los punteros: la suma (++)y la resta (--). Cada vez que se incrementa un puntero, apunta a la posición de memoria del siguiente elemento de su tipo base. Cada vez que se decremento, apunta a la posición del elemento anterior. Con punteros a carácter, parece una aritmética normal. Sin embargo, el resto de los punteros a caracteres, parece una aritmética normal. Sin embargo, el resto de los puteros aumentan o decrementan en la longitud del tipo de datos a los que apuntan. Suponiendo los enteros de 2 bytes de longitud, cuando se incrementa un puntero a entero, su valor aumenta en 2.

1 comentario:

  1. Sea nombres un arreglo de caracteres de orden 10x50, realice una programa que solicite al usuario la carga de los nombres del personal de la una empresa, la final indique cuantos caracteres contiene cada nombre y cuantos caracteres hay en total en el arreglo nombres.
    una ayuda

    ResponderEliminar