You are on page 1of 2

1.3.

7 Paso de parmetros por direccin


Cuando una funcin debe modificar el valor del parmetro Y devolver este
valor modificado a la funcin llamadora, que puede ser el programa
principal, se ha de utilizar el paso de parmetros por direccin, donde se
usan punteros.
1.3.8 Punteros
Un puntero es una variable especial que almacena la direccin de memoria
de otra variable el mismo tipo de dato de otra variable a la que apunta el
puntero.
1.3.9 Definicin de uso de punteros
Como cualquier tipo de variable, un puntero debe haber sido definido antes
de que este pueda ser utilizado. Por ejemplo:
int * ptr; ptr Es el nombre del puntero * significa que ptr es un
puntero
int ptr puede ser utilizado para apuntar a variables de tipo entero.
1.3.10 Inicializacin de punteros y una introduccin a los lvalues y rvalues
int c; c es una variable de tipo int (entero)
c=3; c tiene un rvalue = 3
int * ptr; ptr es un puntero que va a apuntar a una variable de tipo int
(entero)
ptr= &c; ptr almacena la direccin de la variable c o el lvalue de c
rvalue valor real de la variable
lvalue valor de la localidad de la variable
a) DIAGRAMA DE BLOQUE DE DIRECIONES
Ptr = &c lvalue = 5000
rvalue =2000
c=3
o Lvalue = 2000
o Rvalue = 3
b) MAPA DE MEMORIA
DIRECCIONES
VARIABLES
1000
2000
3000
4000
5000
6000
7000

int c =3;
int * ptr = &c;

1.3.11 El operador de indireccin *

c=3
ptr = 2000

El operador de indireccin *en un puntero permite acceder al


contenido de lo que apunta dicho puntero y modificar ese contenido
(manipular la variable que apunta el puntero).
1.3.12 El operador de direccin &
El operador de direccin& permite almacenar la direccin de
memoria de una variable en un puntero.
Mapa de memoria
variables
Int a=10;

a=10 100 101

Int *p1=&a;

P1=2000

Int c =3

C=3 =10 101 202

Int *p2=&c;

P2=6000

dimensiones
1000
2000
3000
4000
5000
6000
7000
8000
9000

You might also like