Академический Документы
Профессиональный Документы
Культура Документы
Carrera: Electromecánica
NRC: 3022
PUNTEROS
Un puntero es una dirección. Al contrario que una variable normal, un puntero es una variable
almacenada en alguna parte del espacio del programa.
Son un tipo de dato especial, el cual guarda una dirección de memoria. Podemos usar un puntero
para modificar un dato utilizando su dirección de memoria, es una variable que contiene la
dirección de memoria de otra variable.
Los punteros permiten código más compacto y eficiente; utilizándolos en forma ordenada dan
gran flexibilidad a la programación.
Dado el ejemplo
int x = 1, y = 2;
ip = &x; /* ip apunta a x */
La dirección especial NULL (o cero) indica que un puntero apunta a “nada” y es usada como
centinela para establecer el fin de estructuras auto referenciadas. Además, esta es retornada
por la función de asignación de memoria, malloc, en el caso de no haber suficiente memoria. El
operador new, en cambio, aborta el programa cuando no tiene más memoria que dar.
Problemas a evitar en el uso de punteros
Por lo tanto, punteros definidos dentro de funciones que no sean inicializados pueden contener
cualquier valor (“basura”).
El asterisco es, por decirlo de alguna forma, el operador por excelencia de los punteros. SU
utilidad radica en que, si el valor de dicho apuntador corresponde a una dirección de memoria,
el asterisco nos permite resolverla y acceder al valor almacenado allí. Viéndolo desde otro
enfoque, un apuntador es únicamente una dirección de memoria (un número) y el asterisco es
el que hace la magia de obtener el valor referenciado por dicha dirección.