Punteros en programación.
Punteros en programación.
Un puntero es un objeto del lenguaje de programación, cuyo valor se refiere a (o "apunta a") otro valor almacenado en otra parte de la memoria del ordenador utilizando su dirección. Un puntero referencia a una ubicación en memoria, y a la obtención del valor almacenado en esa ubicación.![]() |
Ejemplo: la variable llamada 'a', apunta a la dirección de memoria 0002 el cual contiene otra dirección (1008) la cual puede contener el dato que se necesita o bien otra dirección de memoria. |
Los punteros tienen diversos usos que nos facilitan muchas cosas a la hora de programas entre ellas podemos encontrar:
- En los lenguajes de programación funcionales que dependen en gran medida de las listas, los punteros y referencias son gestionados de manera abstracta por el lenguaje utilizando construcciones internas como constantes.
- Cuando se trata de matrices, la crítica operación de búsqueda suele implicar un calculo de dirección donde podamos encontrar el dato de la matriz que estamos buscando.
- Son un elemento fundamental a la hora de crear estructuras de datos dinámicas tales como: listas, colas, pilas, entre otras.
C++ es uno de los lenguajes donde el uso de punteros es fundamental para el manejo de memoria dinámica, ademas se pueden pasar argumentos de una función en forma de punteros y así evitar copiar los datos de un objeto, pero que pasa en otros lenguajes como java?.
En Java no se programa con punteros ya que Java siempre usa punteros explícitos (direcciones de memoria). Java todos los argumentos de un objeto los para por referencia así evitar copiar objetos y los tipos primitivos se pasan por valor ( se crea una variable y se copia el valor).
Dentro del mundo de la programación podemos encontrar operadores e instrucciones que pueden funcionar en punteros en un contexto no seguro:
- * Realiza el direccionamiento indirecto del puntero.
- -> Obtiene acceso a un miembro de un struct a través de un puntero.
- [] Indiza un puntero.
- & Obtiene la direccion de una variable.
++ y -- Incrementa y disminuye los punteros. + y - Realiza aritmetica con punteros. ==, !=, <, >, <= y >= Compara los punteros.
Existen muchos lenguajes de programación que utilizan punteros, aunque no todos los utilizan de las mismas formas o no todos se implementen de la misma manera al final todos en cada lenguaje terminan haciendo la misma función, apuntar a direcciones de memoria para el manejo de memoria dinámica.
Comentarios
Publicar un comentario