Sei sulla pagina 1di 8

UNIDAD 7: C++ APUNTADORES

TEMA 1: INTRODUCCION PUNTEROS MEMORIA C++



Todas las variables se almacenan en una direccin predeterminada en memoria.
El monto del area de memoria es determinada por el tipo de variable, es decir; una
variable int ocupa 2 bytes, un float 4 bytes, un arreglo ocupara el tipo del arreglo
multiplicado por la cantidad de elementos, una estructura es igual a la suma de los
campos.
En C++ existe una nueva clase de variables llamadas apuntadores o punteros, que
permiten almacenar la direccin de memoria de alguna otra variable normal.
En el caso de variables apuntadores a strings o arreglos esta variable solo podr
almacenar lo posicion mas relevante del areglo es decir la ocupada por el primer
elemento del arreglo, mismo caso para estructuras.
Las utilidad principal de las variables apuntadores es la facilidad que tienen para
accesar y manipular datos estructurados mas rapidamente, tambien son muy utiles
para permitir pasar y recibir valores en funciones.
Para declarar una variable de tipo apuntador se usa :
tipo *var_apuntador;
Donde tipo especifica el tipo de dato al que apuntara la variable.

main()

{

int x = 7;

float y = 4.5;

int *x1;

float *y1;

}

Existen dos operadores especificos que se utilizan para manejar variables apuntadores,
estos son :

* Sirve para crear y manipular el valor hexadecimal que representa esa direccion.
& Se utiliza para procesar directamente el dato que se encuentra en dicha direccion.

En resumen en c++ con el operador (*) se crea la variable apuntador o puntero y con
el operador (&) se procesa el dato que esta dentro de esa direccin, o que creen que
hace el ampersand en los scanfs().
TEMA 2: APUNTADORES A ESCALARES C++

Variables apuntador deben ser siempre inicializadas y recordar que ellas almacenan
direcciones FISICAS DE MEMORIA RAM
Existen 2 metodos:
a) inicializar con la direccion de una variable escalar existente.

main()

{

int x,*y;

y = &x;

scanf("%d",&x);

printf("%d %d %d",x,*y,*y+30);

}

scanf("%d",y);

*y = *y+x-8;

b) usar funcion malloc() para reservar un espacio determinado en memoria, aqui solo
se inicializa con la direccion reservada y devuelta por el compilador.

#include <stdlib.h>

main()

{

float *y = malloc(sizeof(float));

*y = 3.14159;

printf("%f",*y);

free(y);

}

TAREAS PROGRAMACION C++ Calcular el area de un triangulo usando apuntadores.
TAREAS PROGRAMACION C++ El programa de pesos a dolares ejecutarlo 3 veces.
TAREAS PROGRAMACION C++ Imprimir 3 boletas de alumno con matricula y
promedio.
Nota : tipo float no permite captura.
TEMA 3: APUNTADORES A STRINGS C++

Caso A. Solo se necesita inicializar una variable char.
main()

{

char nombre[30];

char *ch;

ch = nombre;

gets(nombre);

puts(ch);

}

Caso B.

main()

{

char *nombre = malloc(30);

gets(nombre);

puts(nombre);

free(nombre);

}

TAREAS PROGRAMACION C++ Capturar los datos de 5 alumnos y desplegar solo los de
informatica y con promedio aprobatorio todas las variables apuntadores.
TAREAS PROGRAMACION C++ Capturar los datos de indeterminada cantidad de
mercancias o productos de inventario y emitir cheque solo a los importados o con saldo
mayor de 1000.
TEMA 4: APUNTADORES A ARREGLOS C++

Tambien solo se ocupa una variable apuntador normal.
Caso A.

main()

{
int x[5]={1,2,3,4,5};

int *y,renglon;

y = x;

printf("%d %d %d",x[1],*y,*(y+1));

for(renglon =0; renglon <= 4; renglon ++)

printf("%d",*(y+renglon));

}
Caso B.

main()

{

int reng;

float *x = malloc(5*sizeof(float));

*(x+2) = 3.14159;

printf("%f",*(x+2);

for(reng = 0; reng <=4; reng ++)

printf("%f",*x++);

free(x);

}

TAREAS PROGRAMACION C++ Capturar en arreglos matriculas y 3 calificaciones de 6
alumnos, calcular arreglo promedio, imprimir matricula y promedios aprobatorios,
apuntadores y malloc.
TAREAS PROGRAMACION C++ Inicializar una lista de apuntadores float, sortear
ascendentemente, desplegar original y copia.
TEMA 5: APUNTADORES A TABLAS C++

a) main()

{

int x[3][5],*y;

y = x;

*(y+8) = 20;

printf("%d %d",*(y+8),x[1][3]);

}

b) main()

{

char *nombre[6];

int reng;

for(reng = 0; reng <= 5; reng++)

gets(nombre[reng]);

puts(*(nombre+1);

}

TAREAS PROGRAMACION C++ Contruir una tabla que muestre los ingresos durante los
tres primeros meses de las cuatro sucursales de pinturas corona en la ciudad.
TAREAS PROGRAMACION C++ Desplegar la tabla y ademas los ingresos por sucursales
y por mes, apuntadores y malloc.

Potrebbero piacerti anche