Sei sulla pagina 1di 3

República Bolivariana de Venezuela

Universidad Nacional Experimental Marítima del Caribe (UMC)


Coord. Ciencias Aplicadas – Ingeniería Marítima
Informática I – Prof. Lucía Santeramo

PUNTEROS

Un puntero (o apuntador) es una


[Memoria]
variable manipulable que referencia una | . |
| . |
región de memoria. Es una variable cuyo | . |
----- |---------|
valor es una dirección de memoria. Si se tiene | p |---->| v |
una variable ' p ' de tipo puntero que contiene ----- |---------|
| . |
una dirección de memoria en la que se | . |
| . |
encuentra almacenado un valor ' v ' se dice
que p apunta a v.

Trabajar con punteros implica la no manipulación de las variables en sí, sino manejar direc-
ciones de memoria en la cuales residen los datos. Los punteros son de amplia utilización en progra-
mación y casi todos los lenguajes permiten la manipulación de los mismos. La razón de ser principal
de los punteros reside en manejar datos alojados en la zona de memoria dinámica o heap (aunque
también se pueden manipular objetos en la zona estática), bien sean datos elementales, estructuras
(struct en C) u objetos pertenecientes a una clase (en lenguajes Orientados a Objetos).

#include <iostream.h>
#include <stdlib.h>

void main(){
int ival1 = 7, ival2 = 23;
int *pival1 = &ival1, *pival2 = &ival2;

cout<<"La direccion de memoria de "<<ival1<<" es "<<pival1<<endl<<endl;


cout<<"La direccion de memoria de "<<ival2<<" es "<<pival2<<endl<<endl;

system ("PAUSE");}

------------------------------------------------------------------------------

#include <iostream.h>
#include <stdlib.h>

void main(){
int ireslta = 15, iresultb = 46, itemp;
int *piresult;

piresult = &ireslta;
itemp = *piresult;
*piresult = iresultb;
iresultb = itemp;
cout<<"Valores de las constantes inicialmente ";
cout<<ireslta<<" "<<iresultb<<endl<<endl;
cout<<"Valor de la variable tipo puntero ";
cout<<*piresult<<endl<<endl;
cout<<"Valor de la variable temporal ";
cout<<itemp<<endl<<endl;

system ("PAUSE");}

--------------------------------------------------------------------------------

#include <iostream.h>
#include <stdlib.h>

void main(){
char cchar1 = 'A', cchar2 = 'B';
char *pcchar1, *pcchar2, *pctemp;

pcchar1 = &cchar1;
pcchar2 = &cchar2;
pctemp = pcchar1;
pcchar1 = pcchar2;
pcchar2 = pctemp;

cout<<"Valores de las constantes inicialmente ";


cout<<cchar1<<" "<<cchar2<<endl<<endl;
cout<<"Valores de las variables tipo puntero ";
cout<<*pcchar1<<" "<<*pcchar2<<endl<<endl;
system ("PAUSE");}

-----------------------------------------------------------------------------------------

#include <iostream.h>
#include <stdlib.h>
#include <string.h>

void main(){
char *ppalindromo = "INGENIERIA MARITIMA INFORMATICA I";

for(int i=strlen(ppalindromo)-1; i>=0; i--)


cout<<ppalindromo[i];

cout<<endl<<endl<<ppalindromo<<endl<<endl;

system ("PAUSE");}

-----------------------------------------------------------------------------------------

#include <iostream.h>
#include <stdlib.h>

void main(){
int *pi;
double *pd;

int ient = 78;


double dreal = 12.4;
pi = &ient;
pd = &dreal;
cout<<"POSICION DE MEMORIA INICIAL"<<endl<<pi<<endl<<pd<<endl;
pi+=2;
pd-=3;

cout<<"OTRA POSICION DE MEMORIA"<<endl<<pi<<endl<<pd<<endl;;


system ("PAUSE");}
ESTRUCTURAS

Grupo de variables, que pueden ser de diferentes tipos, agrupadas en una única unidad. Esta
unidad es la estructura. Una agenda que contiene direcciones de amigos, números de teléfonos, entre
otros. Un archivo con los CD’s favoritos. Una lista de directorios de una computadora; son
estructuras.

#include <iostream.h>
#include <stdlib.h>

void main(){
struct Persona {
long int ci;
char nombre[35];
char apellido[25];
char direccion[25];
} candidato;

cout<<"CI: ";
cin>>candidato.ci;
cout<<"Nombre: ";
cin>>candidato.nombre;
cout<<"Apellido: ";
cin>>candidato.apellido;
cout<<"Direccion: ";
cin>>candidato.direccion;

cout<<endl<<candidato.ci<<" ";
cout<<candidato.nombre<<" ";
cout<<candidato.apellido<<" ";
cout<<candidato.direccion<<endl<<endl;

system ("PAUSE"); }

Potrebbero piacerti anche