apuntadores
Post on 20-Jul-2015
171 Views
Preview:
TRANSCRIPT
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
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
Almacenamiento:
3M.I. Blanca Elia Jiménez Guzmán
dato
100
0x28ff0c
Identificador
Contenido
Dirección de memoria
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
Las direcciones de memoria se suelen
describir como valores hexadecimales.
Por ejemplo: 0x28ff0c
5M.I. Blanca Elia Jiménez Guzmán
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
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
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;
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
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.
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;
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;
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; __________________
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
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
Actividad:
Investigue los tipos de apuntadores y
presente la información en su
cuaderno.
16M.I. Blanca Elia Jiménez Guzmán
M.I. Blanca Elia Jiménez Guzmán 17
E-mail: beliajg@hotmail.com
“La práctica hace al maestro.”
Anónimo
top related