Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Punteros C++
Punteros C++
Fundamentos de Informtica
Tema 6. Punteros
TEMA 6. PUNTEROS
Es una variable esttica que, en vez de contener valores de datos,
contiene valores que representan direcciones de memoria de variables.
D104
Pos: D217
35
35
D104
Pos: D104
Contenido de la
variable entera y
(variable apuntada
por x)
Contenido de la
variable puntero x
Direccin en
Memoria de la
variable puntero x.
D104
Vble entera, y
D217
Vble puntero, x
Memoria Principal
Ejemplo1:
int *p, b, x = 1250;
p = &x;
b = *p; /* b = x; */
Nombre de la
variable
Direccin de
memoria
0x10004
0x10005
0x10006
0x10007
0x10008
0x10009
0x1000A
0x1000B
b
x
Variable en
memoria
1250
1250
*p
0x10006
Ejemplo2:
D100
D175
125
D150
D100
D175
125
D100
D150
D150
D100
cuenta
125
Memoria Principal
cuenta
D100
cuenta
x = *p;
Memoria Principal
Memoria Principal
125
p = &cuenta;
D175
Pgina 2 de 6
*p1=NULL, *p2=NULL;
// Se le asigna la direccin de memoria de
// Se le asigna el valor de
p1
int *p = NULL;
}
main() {
unsigned int a=269, b; /* 269 en binario: 100001101 (9 bits) */
unsigned char *p;
Pgina 4 de 6
Hay que hacer caso a los AVISOS (WARNINGS) ya que una sospecha
sobre un PUNTERO puede provocar un gravsimo error en ejecucin.
main(){
float x = 55.4;
int *p;
p = &x;
: -26214
/* p es un puntero a un entero */
Error: cannot convert float* to int* in assignment
: %i \n", *p);
Pgina 5 de 6
El valor de i es 50
El valor de *p es 50
/* ERROR! A dnde apunta el puntero p? */
El valor de i es 50
El valor de *p es -3578
i = 50;
p = i;