Anda di halaman 1dari 6

Laboratorio 06

Alumno: __________________________________________________
Tema: Punteros
Objetivos:
Definir un Puntero
Conocer la Sintaxis de los punteros
Realizar Ejercicios prcticos con punteros
Informacin Bsica
Los punteros proporcionan la mayor parte de la potencia al C y C++, y marcan la
principal diferencia con otros lenguajes de programacin.
Una buena comprensin y un buen dominio de los punteros pondrn en tus manos una
herramienta de gran potencia. Un conocimiento mediocre o incompleto te impedir
desarrollar programas eficaces.
Un puntero es un tipo especial de variable que contiene, ni ms ni menos que, una
direccin de memoria. Por supuesto, a partir de esa direccin de memoria puede haber
cualquier tipo de objeto: un char, un int, un float, un array, una estructura, una funcin u
otro puntero. Seremos nosotros los responsables de decidir ese contenido.
Los punteros se declaran igual que el resto de las variables, pero precediendo el
identificador con el operador de indireccin, (*), que leeremos como "puntero a".
Sintaxis:
<tipo> *<identificador>;
Ejemplos:
int *entero;
char *carcter;
struct stPunto *punto;
Los punteros siempre apuntan a un objeto de un tipo determinado, en el ejemplo,
"entero" siempre apuntar a un objeto de tipo "int".
La forma:
<tipo>* <indentificador>;
con el (*) junto al tipo, en lugar de junto al identificador de variable, tambin est
permitida.
Veamos algunos matices. Tomemos el primer ejemplo:
int *entero;
equivale a:
int* entero;
Debes tener muy claro que "entero" es una variable del tipo "puntero a int", y que
"*entero" NO es una variable de tipo "int".
Si "entero" apunta a una variable de tipo "int", "*entero" ser el contenido de esa
variable, pero no olvides que "*entero" es un operador aplicado a una variable de tipo
"puntero a int", es decir "*entero" es una expresin, no una variable.
Para averiguar la direccin de memoria de cualquier variable usaremos el operador de
direccin (&), que leeremos como "direccin de".
Procedimiento
1.- Implemente el siguiente cdigo el cual permite la creacin de punteros
Nota: Aparentemente, y en la mayora de los casos, cadena1 y cadena2 son
equivalentes, sin embargo hay operaciones que estn prohibidas con los arrays, ya que
son punteros constantes.
2.- Implemente el siguiente programa para ver el funcionamiento de los punteros
3.- Pruebe los siguientes ejercicios para ver el funcionamiento de las operaciones con
punteros
Asignacin
Operaciones Aritmticas
Casting con Punteros(conversin de tipos)
4.- Implemente el siguiente programa para ver el funcionamiento de punteros a
estructuras
5.- Implemente el siguiente programa para ver el funcionamiento de asignacin
dinmica de memoria
Ejercicios Propuestos
1. Escribir un programa con una funcin que calcule la longitud de una cadena de
caracteres. El nombre de la funcin ser LongitudCadena, debe devolver un "int", y
como parmetro de entrada debe tener un puntero a "char". En "main" probar con
distintos tipos de cadenas: arrays y punteros.
2. Escribir un programa con una funcin que busque un carcter determinado en una
cadena. El nombre de la funcin ser BuscaCaracter, debe devolver un "int" con la
posicin en que fue encontrado el carcter, si no se encontr volver con - 1. Los
parmetros de entrada sern una cadena y un carcter. En la funcin "main" probar con
distintas cadenas y caracteres.

Anda mungkin juga menyukai