Sie sind auf Seite 1von 7

UNIVERSIDAD ALONSO DE OJEDA

FACULTAD DE INGENIERIA
ESCUELA DE COMPUTACIÓN

Unidad II: Punteros y Estructura de Datos


Dinámicas Lineales

ING. NELSYMAR MILLÁN


¿Qué son los punteros?

Un puntero no es más que una dirección de memoria. Lo que tiene de especial es que
normalmente un puntero tendrá un tipo de datos asociado: por ejemplo, un “puntero a
entero” será una dirección de memoria en la que habrá almacenado (o podremos
almacenar) un número entero.
Operadores de Punteros
* Se utiliza para la declaración y para mostrar el contenido del puntero.

& Se utiliza para redireccionar o asignar un puntero.

Símbolo utilizado en C++ para designar los punteros:


int num; /* "num" es un número entero */
int *pos; /* "pos" es un "puntero a entero" (dirección de
memoria en la que podremos guardar un entero) */
Declaración de Punteros

Las variables punteros se deben declarar antes de ser utilizadas. Cuando se declara, se
asocian tres atributos fundamentales con la misma: su nombre, su tipo y su dirección en
memoria.

Sintaxis:
<tipo de dato apuntado> * <identificador del puntero>;

Ejemplos: int *p; char *f; float *c;

Asignación de punteros.

Respecto a la comparación y a la asignación, los punteros se ajustan a las mismas reglas que
cualquier otra variable en C++:

• Un puntero puede utilizarse a la derecha de una declaración de asignación para asignar su


valor a otro puntero.

• Se pueden comparar dos punteros en una expresión relacional.


Declaración de Punteros
A un puntero se le puede asignar:
El valor de otro puntero, del mismo tipo.
La dirección de memoria de una variable cuyo tipo coincida en el tipo_base del puntero.
Ejemplo:
int x=15, *p1=NULL, *p2=NULL; p1 = &x; // Se le asigna la dirección de memoria de x
p2 = p1; // Se le asigna el valor de p1

Los dos apuntan a la misma variable

Operaciones de punteros.

La aritmética de punteros es limitada, pero en muchos aspectos muy interesante; y aunque no son
muchas las operaciones que se pueden hacer con los punteros, cada una tiene sus
peculiaridades.

Existen dos tipos de operaciones aritméticas con punteros.


• Uno de los tipos uno de los operandos es un puntero, y el otro un entero.
• En el otro tipo, ambos operandos son punteros.
Declaración de Punteros
Operaciones de punteros.

• Uno de los tipos uno de los operandos es un puntero, y el otro un entero.


Un puntero que contiene la dirección de memoria de otro puntero
Declaración de Punteros
Operaciones de punteros.

• En el otro tipo, ambos operandos son punteros.


Devuelve el valor de la variable apuntada por el operando

int *px, *py;


px < py
px <= py
px > py
px >= py
px == py
px != py
px == NULL
a = *(px++) /* Postincremento del puntero /*
a = *(++px) /* Preincremento del puntero /*
px - py /* “Distancia” entre los punteros px y py /*
Resumen
 Un puntero es una variable que contiene la dirección de una posición en memoria.
 Para declarar un puntero se sitúa una asterisco entre el tipo de dato y el nombre de la
variable.
 Para obtener el valor almacenado en la dirección utilizada por el puntero, se utiliza el
operador de indirección (*). El valor de p es una dirección de memoria y el valor de *p es la
cantidad almacenada en esa dirección de memoria.
 Para obtener la dirección de una variable existente, se utiliza el operador de dirección (&).

Bibliografia Consultada:

Fundamentos de programación en C, por Nacho Cabanes.


Curso C++: http://c.conclase.net/curso/?cap=012#inicio
Aguilar, Joyanes. Programación en c metodología algoritmos y estructura de datos.
Editorial-mcgraw-hill2

Das könnte Ihnen auch gefallen