Una computadora usa su memoria para almacenar los datos con los valores , tales como números, caracteres y valores de bit. Los datos se almacenan en las células de memoria identificados con una dirección de memoria única . Los punteros son estructuras de datos que no contienen valores , en su lugar , los punteros contienen una dirección de memoria de una celda de memoria que almacena un valor . Los punteros son útiles porque permiten construir estructuras de datos sin un tamaño definido (por ejemplo, matrices y listas enlazadas ) , asignar y desasignar memoria dinámica y llevar a cabo la manipulación de datos indirectos. C Cuerdas
Lenguajes de programación
trabajan con recursos limitados. Un programa debe conocer la cantidad de memoria que necesitará antes de la ejecución . Esto crea el problema de la gestión de un tipo de datos que no tiene tamaño definido ( por ejemplo , un programa que los párrafos ' lee ' , con cada párrafo que tiene una longitud diferente ) . Punteros abordar esta situación en forma de cadenas de C . Cadena AC está compuesto por un puntero que apunta al primer carácter de la cadena, y un carácter que indica el final de la cadena (por ejemplo, el carácter de nueva línea , " \\ n") . El puntero queda incrementa en 1 cada vez, hasta que apunte al último carácter ("\\ n") .
Vinculado Listas
Una lista enlazada es una lista que aumenta su tamaño como los nuevos elementos se añaden a la lista. A diferencia de matrices y cadenas C que almacenan datos de forma secuencial en la memoria, listas enlazadas no son necesariamente almacenados en las direcciones de memoria adyacentes. Las listas enlazadas se forman por los nodos , y cada uno de los puntos de nodo al siguiente nodo . La ventaja de esta estructura de datos es que la lista cambie su tamaño según las necesidades del usuario .
Dinámico de asignación de memoria
Programas
normalmente asignan la memoria cuando son construida . A veces la memoria asignada no es suficiente para manejar datos con tamaño desconocido . Los programadores usan una técnica llamada asignación dinámica de memoria para asegurarse de que el programa pueda superar este problema. La memoria dinámica se accede mediante el uso de un puntero para apuntar a una dirección de memoria fuera de la memoria reservada inicialmente por el programa. Punteros también desasignar la memoria una vez que ya no es necesario .
Indirectos de manipulación de datos
Lenguajes de programación
menudo requieren la modificación del valor de los datos . Los programas utilizan las funciones para modificar y realizar operaciones sobre los datos . Debido a la jerarquía de los programas , los datos se copian y se cancela la asignación constante una vez que se pasa a las funciones . Funciones modificar los datos , pero una vez que se utilizan los datos , se pierden estos cambios . Usando punteros en lugar de los tipos de datos básicos asegura que pasamos una dirección de memoria a las funciones. De esta manera los cambios en los datos almacenados en la dirección de memoria se mantendrá durante el resto de la ejecución del programa.