You are on page 1of 7

Universidad Salazar

Campus Pichucalco

MATERIA: EXTRUCTURA DE DATOS


4

UNIDAD III ESTRUCTURAS


3 ER CUATRIMESTRE DE LA CARRERA DE LIA
(SEMIESCOLARIZADO)

NOMBRE DEL PROFR: LIC.


LORENZO BASTARD
MARTINEZ
NOMBRE DE LA ALUMNA:

Laura Snchez Velzquez

PICHUCALCO, CHIAPAS A 25 DE
JULIO DE 2015

Introduccin

Este trabajo trata de punteros ya que es


ciencias de la computacin, un puntero es
un objeto del lenguaje de programacin,
cuyo valor se refiere a (o "apunta a") otro
valor almacenado en otra parte de
la memoria
del
ordenador utilizando
su direccin. Un puntero referencia a una
ubicacin en memoria, y a la obtencin del
valor almacenado en esa ubicacin se la
conoce
como desreferenciacin del
puntero. A modo de analoga, un nmero
de pgina en el ndice de un libro podra
considerarse un puntero a la pgina
correspondiente;
des
referenciar
un
puntero sera como voltear a la pgina con
el nmero de pgina determinada. De esto

tratara el tema sobre los punteros y sus


tipos
Que tengas xitos

Puntero
(Informtica)

Considero
que
las
sentencias
de
asignacin y variables
puntero estn entre los
tesoros ms valiosos
de la informtica
Donald
Knuth, Structured
Programming with go
to Statements.

En ciencias de la computacin, un puntero es un


objeto del lenguaje de programacin, cuyo valor se
refiere a (o "apunta a") otro valor almacenado en otra
parte
de
la memoria
del
ordenador utilizando
su direccin. Un puntero referencia a una ubicacin en

memoria, y a la obtencin del valor almacenado en esa


ubicacin se la conoce como desreferenciacin del
puntero. A modo de analoga, un nmero de pgina en
el ndice de un libro podra considerarse un puntero a
la pgina correspondiente; des referenciar un puntero
sera como voltear a la pgina con el nmero de pgina
determinada.
[ Memoria ]
| |
| |
| |
+---+
|---------|
| p |---->| v |
+---+
|---------|
| |
| |
| |
Los punteros a datos mejoran significativamente el
rendimiento de las operaciones repetitivas tales
como cadenas de
desplazamiento, tablas
de
bsqueda, tablas de control y estructuras rbol. En
particular, muchas veces es mucho ms barato en
tiempo y espacio copiar y des referenciar punteros que
copiar y acceder a los datos a los cuales apunta el
puntero.
Los punteros tambin se utilizan para mantener las
direcciones de los puntos de entrada para las
subrutinas
para llamadas
en programacin
por
procedimientos y
enlaces
para
vincular
a
las bibliotecas de enlace dinmico (DLL) en tiempo de
ejecucin. En la programacin orientada a objetos,
los punteros a funciones se utilizan para mtodos

de unin, muchas veces utilizando


llama tablas de mtodos virtuales.

lo

que

se

Un puntero es una implementacin ms concreta y


simple del tipo de datos de referencia ms abstracto.
Varios lenguajes soportan algn tipo de puntero,
aunque algunos tengan ms restricciones en su uso
que otros. Mientras que se utilice un "puntero" para
referirse a referencias en general, se aplica ms
propiamente a las estructuras de datos cuya interfaz
permita explcitamente que el puntero sea manipulado
(aritmticamente va aritmtica de punteros) como una
direccin
de
memoria,
en
oposicin
a
una cookie u opcin dnde esto no sea posible.
[cita requerida]
Debido a que los punteros permiten tanto
proteger como permitir el acceso a direcciones de
memoria, hay riesgos asociados con su uso, sobre todo
en este ltimo caso. Generalmente, los punteros
primitivas son almacenados en un formato similar a
un entero; no obstante, intentar eliminar la referencia
o "mirar hacia arriba" hacia un puntero cuyo valor no
fue nunca una direccin de memoria vlida conllevara
provocar que un programa se bloquee. Para aliviar este
potencial problema, como una cuestin de seguridad
de tipos, los punteros son considerados un tipo
separado parame trizado por un tipo de datos que
apuntan a, incluso si la representacin subyacente es
un nmero entero. Tambin se pueden tomar otras
medidas (como la validacin y comprobacin de los
lmites, para verificar el contenido de la variable de
puntero contenga un valor que es a la vez una
direccin de memoria vlida y dentro del rango
numrico que el procesador sea capaz de abordar).

Concepto
Un puntero es una variable que contiene la direccin
de memoria de un dato o de otra variable que
contiene al dato. Quiere esto decir, que el puntero
apunta al espacio fsico donde est el dato o la
variable. Un puntero puede apuntar a un objeto de
cualquier tipo, como por ejemplo, a una estructura o
una funcin. Los punteros se pueden utilizar para
referencia y manipular estructuras de datos, para
referenciar
bloques
de
memoria
asignados
dinmicamente y para proveer el paso de argumentos
por referencias en las llamadas a funciones.
Muchas de las funciones estndares de C, trabajan con
punteros, como es el caso del scanf o strcpy. Estas
reciben o devuelve un valor que es un puntero. Por Ej.
A scanf se le pasa la direccin de memoria del dato a
leer (esto es un puntero)...
Char a;
Scanf ("%c", &a);

&Punteros a cadenas de caracteres


Ya hemos visto el uso que se le puede dar a un puntero
como si de un array se tratase, entonces usando esta
misma lgica podemos hacer un array de caracteres
usando punteros.
Char *nombre="Gustavo A. Chavarra";//Es como un
array de 20 caracteres

printf("%s",nombre);
Sin embargo al tratarse de una constante de
caracteres no podemos modificarla luego de definir
sus valores. Como por ejemplo no podemos remplazar
un carcter, o leer un nuevo valor.
Gets (nombre); //ERROR en ejecucin
Para poder modificar el valor de este puntero, este
tendra que apuntar a una direccin que no sea una
constante, como un array.
Char nombre []="Gustavo A. Chavarra"; //declaramos
un array de caracteres
Char *puntero=nombre; //Asignamos al puntero el
comienzo del array
Printf ("%s \nIngrese otro nombre: ", puntero);
//Escribimos en pantalla nombre...
Gets (puntero); //leemos otro nombre
Printf ("%s", puntero); //escribimos el nuevo nombre...
Esta vez pudiste notar que si se pudo remplazar el
valor del nombre, pero aun la cantidad de caracteres
est limitada por el array original, ms adelante
veremos cmo solucionar esto con memoria dinmica.

You might also like