apuntadores

Post on 20-Jul-2015

171 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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