Escolar Documentos
Profissional Documentos
Cultura Documentos
OBTEJIVO:
1. Implementar el concepto de puntero en la resolución de problemas
2. Comprender y diferenciar los conceptos de punteros, variables, direcciones de memoria y referencias y su
importancia en el desarrollo de funciones
De manera más sencilla, al declarar una variable, por ejemplo int x; el compilador reserva un espacio de memoria para ella y
asocia al nombre o identificador asignado, la dirección de memoria desde donde comienzan los datos de esa variable.
Recordemos que, las direcciones de memoria se suelen describir como números en hexadecimal
En concordancia con lo antes expresado, podemos entonces declarar una variable cuyo contenido sea la dirección de
memoria que le fue asignado a otra variable.
Por lo tanto, Un apuntador o puntero, es una variable que contiene una dirección de memoria, la cual corresponderá a un
dato o a una variable que contiene el dato.
El uso de punteros puede parecer al principio un poco complicado, por la dificultad inicial de entender el concepto, pero una
vez comprendido podemos sacar provecho a la principal ventaja de esta herramienta, permite hacer los programas más
eficientes y más flexibles
Al Ejecutar el programa, qué puedes notar con respecto al resultado arrojado como dirección de memoria de x
y el valor de p? Exacto, son los mismos porque se aplicó referenciación.
La referenciación es la obtención de la dirección de una variable. En C y C++ esto se hace a través del operador monario
‘&’, aplicado a la variable a la cual se desea saber su dirección. En este caso, p = x;
ANALICE LOS SIGUIENTES EJERCICIOS CON PUNTEROS
EJEMPLO 1
#include <iostream>
using namespace std;
int main() { int a, b, *p;
a = 100;
p =&a;
b = *p + 200;
cout << "a,b ->" << a << ", " << b << endl;
a = *p + 200;
cout << "a,b ->" << a << ", " << b << endl;
system("pause");
return 0;
}
EJEMPLO 2
#include <iostream> using
namespace std; int main (){
int a,b,c;
int *p, *q, *z; a=100;
b=200;
p = &a;
cout<<"a= " <<a <<"\t *P= " <<&p <<endl;
q = &b;
cout<<"b= " <<b <<"\t *q= " <<&q <<endl;
c = *p+*q;
z = &c;
cout<<"a= " <<*p <<"\t b= " <<*q <<"\t c= "<<*z <<endl;
p++;
cout<<"a= " <<a <<"\t *P= " <<&p <<endl;
system("pause");
return 0;
}
1. A partir de los conceptos socializados referentes al uso de punteros, indicar que hace el siguiente programa,
colocando un comentario indicando que se hace en cada instrucción donde se implemente el uso de punteros
#include <iostream.h>
Using namespace std;
int main()
{
int x,v[10]
int *p;
p =v;
for(x=0;x<10;x++)
{
cout<<"\n Ingrese un valor: ";
cin>>*p;
p++;
}
for(x=0;x<10;x++)
{ cout<<v[x]<<"\t"; }
}
Se tienen los costos de producción de dulces correspondientes a los 12 meses del año anterior.
Dulces
Enero
Febrero
.
.
.
Diciembre