apuntadores
TRANSCRIPT
![Page 1: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/1.jpg)
ING. EN SISTEMAS COMPUTACIONALES
III Semestre
Tema II. Pilas y Colas
Parte III
Institu
to d
e E
stu
dio
s S
up
erio
res
del Is
tmo
de T
ehuan
tepec
Docente:
M.I. Blanca Elia Jiménez Guzmán
![Page 2: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/2.jpg)
Partiendo de lo conocido:
Identificador Contenido
Dato = 100
El valor de la derecha se va a
asignar o almacenar en la
variable de la izquierda.
2M.I. Blanca Elia Jiménez Guzmán
![Page 3: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/3.jpg)
Almacenamiento:
3M.I. Blanca Elia Jiménez Guzmán
dato
100
0x28ff0c
Identificador
Contenido
Dirección de memoria
![Page 4: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/4.jpg)
Al declarar una variable, el
compilador reserva un espacio de
memoria para ella, de acuerdo al
tipo de dato y le asigna una
dirección de memoria desde donde
comienzan a guardarse los datos de
esa variable.
4M.I. Blanca Elia Jiménez Guzmán
![Page 5: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/5.jpg)
Las direcciones de memoria se suelen
describir como valores hexadecimales.
Por ejemplo: 0x28ff0c
5M.I. Blanca Elia Jiménez Guzmán
![Page 6: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/6.jpg)
Referenciación:
Se emplea el operador unario &
La salida se muestra de la siguiente manera:
Nota: La dirección puede variar en cada
ejecución del programa.
6M.I. Blanca Elia Jiménez Guzmán
int dato=100;
cout<<“El contenido de dato es :”<<dato<<endl;
cout<<“La dirección de dato es :”<<&dato<<endl;
100
0x28ff0c
![Page 7: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/7.jpg)
Definición:
Es una variable cuyo valor es la
dirección de memoria de otra
variable.
Los apuntadores contienen o
guardan direcciones de memoria.
Si un apuntador apu contiene la
dirección de b, se dice que apu
apunta a b.
7M.I. Blanca Elia Jiménez Guzmán
![Page 8: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/8.jpg)
Declaración:
Se especifica el tipo de dato al que
apunta, el operador *, y el nombre
del apuntador.
Sintaxis:
8M.I. Blanca Elia Jiménez Guzmán
Tipo_de_dato_apuntado *identificador_del_apuntador;
![Page 9: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/9.jpg)
Ejemplos:
9M.I. Blanca Elia Jiménez Guzmán
int *apu; //Apuntador a entero
float *apu1; //Apuntador a punto flotante
char *let1; //Apuntador a caracter
![Page 10: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/10.jpg)
Asignación:
Mediante el operador de referenciación
Mediante direcciones almacenadas en
otros apuntadores.
10M.I. Blanca Elia Jiménez Guzmán
int dato=100;
int *apu, *aux;
apu = &dato;
aux = apu;
//Ambos apuntador, apuntan a dato.
![Page 11: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/11.jpg)
Ejercicio 1:
Rellena la tabla en base a lo siguiente:
11M.I. Blanca Elia Jiménez Guzmán
*apu *aux dato1 dato2
0x28ff02 0x28ff06 0x28ff10 0x28ff0e
int *apu, *aux, dato1, dato2;
dato1=50; dato2=100;
apu=&dato1, aux=&dato2;
![Page 12: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/12.jpg)
Resultado del ejercicio 1:
12M.I. Blanca Elia Jiménez Guzmán
*apu *aux dato1 dato2
0x28ff10 0x28ff0e 50 100
0x28ff02 0x28ff06 0x28ff10 0x28ff0e
int *apu, *aux, dato1, dato2;
dato1=50; dato2=100;
apu=&dato1, aux=&dato2;
![Page 13: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/13.jpg)
Ejercicio 2:Continuando con el ejemplo anterior ¿Qué se
mostraría en pantalla al imprimir lo siguiente?
13M.I. Blanca Elia Jiménez Guzmán
cout<<apu; __________________
cout<<&apu; __________________
cout<<*apu; __________________
cout<<dato1; __________________
cout<<dato2; __________________
cout<<&dato1; __________________
cout<<&dato2; __________________
cout<<aux; __________________
cout<<&aux; __________________
cout<<*aux; __________________
![Page 14: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/14.jpg)
Resultado del ejercicio 2:
14M.I. Blanca Elia Jiménez Guzmán
cout<<apu; 0x28ff10
cout<<&apu; 0x28ff02
cout<<*apu; 50
cout<<dato1; 50
cout<<dato2; 100
cout<<&dato1; 0x28ff10
cout<<&dato2; 0x28ff0e
cout<<aux; 0x28ff0e
cout<<&aux; 0x28ff06
cout<<*aux; 100
![Page 15: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/15.jpg)
Ejercicio 3:
Codifique el programa para
comprobar los datos obtenidos.
Tome en cuenta que las direcciones
de memoria variarán.
15M.I. Blanca Elia Jiménez Guzmán
![Page 16: Apuntadores](https://reader035.vdocumento.com/reader035/viewer/2022080214/55ac5c6e1a28abc24c8b4895/html5/thumbnails/16.jpg)
Actividad:
Investigue los tipos de apuntadores y
presente la información en su
cuaderno.
16M.I. Blanca Elia Jiménez Guzmán