Professional Documents
Culture Documents
PROGRAMACION
ESTRUCTURADA
METODOS DE ORDENACION Y
BUSQUEDA
CLASE 14 ING. MIRYAN IZA C. M.IS
REVISION
• Métodos de ordenación y búsqueda
• Sentencias de control e iteraciones
AGENDA
• Punteros
• Variable puntero
• Declaracion de la variable puntero
• Operadores de punteros
• Inicializacion de punteros
• Indireccion multiple
• Aplicaciones con punteros
PUNTEROS
INTRODUCCION
• Los apuntadores o punteros también
permiten el paso por referencia, y se pueden
utilizar para crear y manipular estructuras
dinámicas de datos (es decir, estructuras de
datos que pueden crecer y reducirse), como
listas enlazadas, colas, pilas y árboles.
PUNTERO
• Son variables pero en vez de contener un valor especifico, contienen las
direcciones de las variables a las que apuntan.
• Para obtener o modificar el valor de la variable a la que apuntan se utiliza el
operador de indirección. Los punteros, al ser variables deben ser declaradas
como punteros antes de ser utilizadas.
– Sintaxis:
– int *ptrID, ID;
– ID = 8;
– ptrID = &ID; // puntero a ID
• ptrID es un puntero a int, mientras que la variable ID es solo una variable del
tipo int. Todo puntero debe ser precedido por un asterisco (*) en la declaración.
• Se puede declarar más de un puntero en la misma sentencia. En el ejemplo que
sigue se ve la declaración de dos punteros a int.
– int *ptrY, *ptrX;
• El puntero, es una herramienta muy potente que se
puede utilizar en los programas para hacerlos más
eficientes y flexibles.
• Una variable puntero 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 permiten realizar muchas
tareas que no sería posible utilizando tipos de datos
estándar.
PUNTEROS
• Cuando una variable se declara, se asocian
tres atributos fundamentales con la misma:
su nombre, su tipo y su dirección en
memoria.
• Al valor de una variable se accede por medio de su nombre. Por ejemplo, se puede imprimir el
valor de n con la sentencia:
– cout<<n;
• A la dirección de la variable se accede por medio del operador de dirección &. Por ejemplo, se
puede imprimir la dirección de n con la sentencia:
– cout<<&n;
• El operador de dirección "&" «opera» obre el nombre de la variable para obtener sus
direcciones. Tiene precedencia de nivel 15 con el mismo nivel que el operador lógico NOT ( ! ) y
el operador de preincremento + +.
CONCEPTO
• Cada vez que se declara una variable C++, el compilador establece un área de memoria para almacenar el
contenido de la variable. Cuando se declara una variable int (entera), el compilador asigna dos bytes de memoria.
El espacio para esa variable se sitúa en una posición específica de la memoria, conocida como dirección de
memoria. Cuando se referencia al valor de la variable, el compilador de C++ accede automáticamente a la dirección
de memoria donde se almacena el entero. Se puede ganar en eficacia en el acceso a esta dirección de memoria
utilizando un puntero.
• Cada variable que se declara tiene una dirección asociada con ella. Un puntero es una dirección de memoria.
• El concepto de punteros tiene correspondencia en la vida diaria. Cuando se envía una carta por correo, su
información se entrega basada en un puntero que es la dirección de esa carta.
• Cuando se telefonea a una persona, se utiliza un puntero (el número de teléfono que se marca).
• Así pues, una dirección de correos y un número de teléfono tienen en común que ambos indican dónde encontrar
algo.
• Son punteros a edificios y teléfonos, respectivamente.
• Un puntero también indica dónde encontrar algo, ¿,dónde encontrar los datos que están asociados con una
variable? Un puntero es la dirección de una Variable.
• Los punteros se rigen por estas reglas básicas:
– un puntero es una variable como cualquier otra;
– una variable puntero contiene una dirección que apunta a otra posición en memoria;
– en esa posición se almacenan los datos a los que apunta el puntero;
– un puntero apunta a una variable de memoria.
VARIABLE PUNTERO
EJEMPLO