Sei sulla pagina 1di 4

“Punteros y asignación de memoria y

recursividad”
A lo largo de su vida el ser humano ha sentido la necesidad de facilitar las
tareas que realiza en su día a día, por ello a lo largo de la historia se ha inventado
constantemente diversas herramientas con el fin de dar una mejor calidad de
vida, los computadores son uno de esos inventos que revoluciono y marcó un
antes y un después en la vida del hombre, no obstante el computador no podía
realizar una tarea por si solo entonces ¿Es posible crear un canal de
comunicación entre la PC y el humano?, Basándose en esto surgió la necesidad
inminente de crear un lenguaje que permitiera la comunicación con el ordenador,
fue Ada Lovelace quien apoyándose en los avances de Charles Babbage se
convirtió en la primera programadora en la historia, desde entonces se han
logrado avances significativos en lenguajes de programación, ahora son
lenguajes llenos de herramientas que facilitan el trabajo del programador, en el
presente trabajo se estudiara punteros y asignación de memoria y recursividad
herramientas muy importantes para nuestro futuro como programadores.

“Una variable puntero (o puntero, como se llama normalmente) es una


variable que contiene direcciones de otras variables. Todas las variables
vistas hasta este momento contienen valores de datos, por el contrario las
variables punteros contienen valores que son direcciones de memoria donde
se almacenan datos. En resumen, un puntero es una variable que contiene
una dirección de memoria, y utilizando punteros su programa puede realizar
muchas tareas que no sería posible utilizando tipos de datos estándar”
(Joyanes, s.f., pág. 323).

Como se señala en la cita un puntero o apuntador no es más que una variable


destinada a almacenar la dirección en la memoria de otra variable, la memoria
de una computadora está representada por unas celdas ubicadas o
direccionadas una seguida de otra, si el disco duro de una computadora es de
120 gigabytes entonces el espacio de memoria estará distribuido en celdas de 1
byte de espacio para almacenamiento dispuestas una seguida de otra, durante
la elaboración de un programa todos los datos son almacenados por nuestro
compilador en estas celdas, un ejemplo de ello son las variables, al definir una
variable esta se almacenara en tantas celdas como bytes ocupe el tipo de
variable declarada.
Teniendo claro el proceso de almacenamiento de una variable entonces se
puede observar la utilidad de los punteros o apuntadores, gracias a estos
podemos conocer la dirección de memoria donde se encuentra nuestra variable,
los punteros trabajan con dos operadores especiales, en algunos lenguajes se
simbolizan con un “& y un *. “El operador & sirve para dar la dirección de un
objeto, y solo se aplica a objetos que están en memoria, como son variables y
elementos de arreglos, no puede aplicarse a expresiones, constantes o variables
tipo registro”. (Escobar, 2012, pág. 89.). El & permitirá almacenar en una variable
previamente declarada la dirección en memoria de otra variable declarada. “El
operador * que se conoce como operador de indirección o desreferencia, accede
al contenido de una variable cuya dirección es el valor de un puntero” (Escobar,
2012, pág. 89.). Este operador básicamente toma la dirección de una variable y
regresa el contenido almacenado en esa variable.

La recursividad es una técnica definida como: “También llamada como


recursión o recurrencia, es una técnica de programación elemental que permite
que una función pueda definirse y llamarse en términos de sí misma, pudiendo
llegar a ser una solución diferente al proceso iterativo” (Morgenstern, 2013), la
recursividad es una técnica de la programación que podemos utilizar cuando
estamos frente a la necesidad de repetir varias veces un bloque de instrucciones
del programa, este elemento permitirá al programador elaborar un proceso
complicado en una porción de código no muy extensa, simplificando así la
realización del programa, esta herramienta una vez aprendida correctamente
será de gran utilidad en el trabajo del programador.

Un buen programador se esmera en la excelencia de sus proyectos


garantizando así la satisfacción del cliente para ello debe conocer a plenitud
todas estas herramientas inmersas en los lenguajes de programación para de
algún modo facilitar su trabajo y garantizar el éxito de su proyecto, los
apuntadores o punteros encargados del almacenamiento de direcciones de
memoria y las funciones recursivas proveedoras de facilidad al momento de
realizar procesos largos y repetitivos son dos de esas herramientas que una vez
conocidas y comprendidas pueden ser de gran utilidad para el programador.
Referencias:

- Escobar, M. (2012) Programación básica, Estado de México: RED


TERCER MILENIO S.C.
- Joyanes, L., Zahonero, I. (s.f.) Programación en C, Metodología,
algoritmos y estructura de datos, Mc Graw Hill.
- Morgenstern, J (2013) Recursividad –Definicion y Ejemplo, tomado de
https://www.youtube.com/watch?v=s6bjAt9DV5g

Potrebbero piacerti anche