Escolar Documentos
Profissional Documentos
Cultura Documentos
Programacin No
Numrica I
MSc. Ing. Mara Auxiliadora Prez
Unidad II
Memoria
Dinmica
#include <iostream>
using namespace std;
int main()
{
int x;
x = 25;
// acceso a la variable a travs de su nombre
cout << "Valor de x : " << x << endl;
// acceso a la variable a travs del operador de direccin
&
Valor
1592
.
.
.
Punteros
1592
A
.
.
.
1614
1690
.
.
.
1690
15
tipo *nombre_variable;
int i=3, *p,*r;
// p y r son punteros a entero
double d=3.3,*q;
// q es un puntero a double
char* c='a', *t;// t es un puntero a carcter
p=&i;
r=p;
p = q; ERROR
10
cin>>*p;
if (p==r)
cout<<"El valor de i es: "<<*p;
*p=*p+3;
p=p+3;
11
a:
p
q
8
?
4. q=p;
p
3. *p=8;
a:
a:
2. p=&a
5. *q=85;
a:
8
a:
85
q
13
6. a=33;
. 7. int b=1;
a:
33
a:
b
:
33
1
. 8. q=&b;
p
a:
b:
33
NOTA
a,b,p,q : variables locales automticas
14
int main()
{ int x, y, *p, *q;
p = &x;
*p = 5;
q = &y;
*q = 23;
cout << *p << " << *q << endl;
q = p;
*p = 35;
cout << *p << " << *q << endl;
q = NULL;
cout << x << " << y << endl;
system(PAUSE);
return 0;
}
15
int main()
{
int *p, *q, x, y;
p = &x;
*p = 14;
q = p;
cout << *p << " " << *q << endl;
q = NULL;
cout << x << " << y << endl;
system(PAUSE);
return 0;
16
int main()
{ int x, y, *p, *q;
p = &x;
*p = 12;
q = &y;
*q = 23;
cout << *p <<" "<<*q<<endl;
*p = *q;
cout << *p <<" "<<*q<<endl;
q = NULL;
cout<<*p<<endl;
cout<<x<<" "<<y<<endl;
system(PAUSE);
return 0;
}
17
int main()
{ int x, y, *p, *q;
p = &x;
*p = 14;
q = p;
if ( p == q)
q = &y;
if ( p == q)
*q = 14;
if (p == q)
if (*p == *q)
system(PAUSE);
return 0;
}
cout<<"Mensaje 1";
cout<<"Mensaje 2";
cout<<"Mensaje 3";
cout<<"Mensaje 4";
18
int *p;
p = new int;
:::
delete p;
int q=new int(3);
float t=new float(2,2);
:::
delete q;
20
2. p=new int;
p
4. q=p;
p
q
3. *p=10;
?
p
q
10
?
5. *q=85;
10
85
q
21
5. *q=85;
p
. 6. p = new ( int);
p
85
q
85
. 7. *p= 9;
p
q
85
22
85
q
85
8. delete p, q;
p
q
?
?
9. delete q;
p
q
?
23
Al ejecutar la instruccin
apuntador=new int;
Procedimiento Delete
delete apuntador;
Se utiliza para indicar que una variable tipo puntero tiene como
contenido el valor vaco, es decir, que no apunta a nadie.
Al ejecutar
apuntador1= NULL
Por ejemplo:
apuntador1=NULL
*apuntador1=F Asignacin Incorrecta.
Asignacin:
p= q
No se imprimen ni leen