Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PUNTEROS Y
ARCHIVOS
<identificador> es el nombre del puntero. El tipo o tipo base, indica el tipo de variables que
se podrán manipular a través del puntero.
NOTA:
Es importante que los punteros siempre apunten a variables del mismo tipo. Si se mezclan los
tipos, los resultados son erróneos.
También es importante inicializar los punteros antes de utilizarlos. Si no se inicializan, es
decir, si no apuntan a algún sitio válido, se pueden alterar otras zonas de memoria, ya sea del
propio programa o del sistema operativo.
6.3 Uso de Apuntadores
¿Qué es un apuntador?
■ En términos generales, podemos referirnos como apuntador, puntero o pointer
a una variable que almacene una dirección de memoria; tan sencillo como eso.
El apuntador nos permitirá guardar la dirección de memoria donde se localiza
alguna otra variable o constante.
■ Normalmente solo necesitamos el nombre de la variable para poder acceder a su
valor; siendo así, ¿para qué molestarnos en conocer la dirección de dónde se
encuentra?
¿Cómo se usa un puntero
Una vez que ya sabemos que es un puntero, una
variable cuyo valor es una dirección de memoria, vamos
a proceder a explicar cómo se utilizan.
■ Imaginamos que el cartero sabiendo que hay dos
buzones nuestros, decide introducir un paquete (el
valor 23) en uno de nuestros buzones. Pero se da
cuenta de que lo introdujo en el buzón que no era,
entonces se le ocurre dejarnos en el buzón correcto
(b1), un papel donde pone “tu paquete está en b5“.
■ La manera de obtener el valor es bien sencilla,
nosotros abriríamos b1, veríamos que lo que hay
dentro es el papel y entonces diríamos, para alcanzar
el valor, tengo que ir a b5 y obtener su contenido.
¿Para que sirven los punteros?
■ Sin duda, los punteros son una herramienta indispensable para los sistemas
embebidos. Un sólido conocimiento de punteros y la habilidad de utilizarlos
eficientemente hace la diferencia entre un programador novato y uno experto.
Ellos proporcionan soporte para asignación de memoria dinámica y agregan otra
dimensión al control de flujo en un programa.
■ Los punteros tienen varios usos, incluyendo:
1. Crean código eficiente y rápido
2. Proporcionan asignación de memoria dinámica
3. Hacen expresiones compactas y concisas
4. Protegen datos pasados como parámetros a una función
5. Proporcionan la capacidad de pasar estructuras de datos mediante un puntero
sin ocasionar un exceso de código conocido como “overhead”
■ Los punteros crean código eficiente y rápido ya que están más cerca del
hardware. Esto significa que el compilador puede traducir más fácilmente la
operación en código máquina.
¿Cómo se declara un apuntador?
Actividad:
Acertijo
Seguro recuerdas que si tenías varias variables de un mismo
tipo, estas podían declararse en una misma línea colocando una
única vez el tipo de dato y enseguida identificadores separados
por comas. Atendiendo a lo anterior, ¿cuál de las dos opciones
siguientes crees que sería la correcta al momento de declarar
varios apuntadores?
Para leer una declaración de apuntador, lo único de que debes hacer es leer hacia atrás, como se
indica en la imagen siguiente:
Conociendo la dirección de una variable
■ Hemos hablado suficiente de direcciones de memoria y de cómo estas son los valores
que almacenan los apuntadores, siendo así, ¿cómo es que obtengo la dirección de alguna
variable para poderla guardar en un apuntador?
■ Así como existe un operador para declarar apuntadores, existe también uno para poder
obtener la dirección de una variable, este operador es el símbolo ampersand (&). Lo
único que debes hacer es colocar este operador inmediatamente a la izquierda del
identificador de la variable cuya dirección quieres saber.
De texto Secuenciales
Binarios Directos
Referencias Bibliográficas
■ Duran, J. (2021, 4 junio). ¿Qué es un puntero y como se usan?
https://lenguajedeprogramacion.com.
https://lenguajedeprogramacion.com/programacion-c/que-es-un-puntero-usos/
■ Joyanes Aguilar, L. (2008). Fundamentos de Programación (4.a ed., Vol. 1). McGraw-Hill
Education.
■ https://codingornot.com/02-apuntadores-conociendo-los-apuntadores
GRACIAS